java中的时间操作不外乎这四种情况:获取当前时间,获取某个时间的某种格式,设置时间和时间的运算。
1.获取当前时间
有两种方式可以获得,第一种,使用java.util.Date类。
Date date = new Date();
date.getTime();
还有一种方式,使用System.currentTimeMillis();
这两种方式获得的结果是一样的,都是得到一个当前的时间的long型的时间的毫秒值,这个值实际上是当前时间值与1970年一月一号零时零分零秒相差的毫秒数。
2.获取某个时间的某种格式
获取时间的格式,需要用到一个专门用于时间格式的类java.text.SimpleDateFormat。
首先,定义一个SimpleDateFormat变量
private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String myData = df.format(new Date());
3.设置时间
现在设置时间,推荐 使用java.util.Calendar类来进行操作,因为java.util.Date类很多方法都过时了,Calendar 类有很多重载的设置时间的方法。我们可以针对于某一项进行设置,也可以同时进行很多设置
public void set(int field, int value) 将给定的日历字段设置为给定值。
public final void set(int year, int month, int date) 设置日历字段 YEAR
、MONTH
和 DAY_OF_MONTH
的值。保留其他日历字段以前的值。
public final void set(int year, int month, int date, int hourOfDay, int minute) 设置日历字段 YEAR
、MONTH
、DAY_OF_MONTH
、HOUR_OF_DAY
和 MINUTE
的值。保留其他字段以前的值。
public final void set(int year, int month, int date, int hourOfDay, int minute, int second) 设置字段 YEAR
、MONTH
、DAY_OF_MONTH
、HOUR
、MINUTE
和 SECOND
的值。保留其他字段以前的值。
4.时间运算
public abstract void add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
例如,要从当前日历时间减去 5 天。add(Calendar.DAY_OF_MONTH, -5);
public boolean after(Object when) 判断此Calendar
表示的时间是否在指定Object
表示的时间之后,返回判断结果。
public boolean before(Object when) 判断此Calendar
表示的时间是否在指定Object
表示的时间之前,返回判断结果。