有以下两种方法获取指定时间的毫秒值:
1.Calendar类
先由getInstance获取Calendar对象,然后用clear方法将时间重置为(1970.1.1 00:00:00),接下来用set方法设定指定时间,最后用getTimeMillis获取毫秒值。
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(2018,0,1);
long millis = calendar.getTimeInMillis();
2.java.util.Date类+SimpleDateFormat类
先由时间格式创建SimpleDateFormat对象,然后通过parse方法由指定时间创建Date对象,最后由Date对象的getTime方法获取毫秒值。
SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
Date date = null;
try {
date = format.parse("2018-01-01");
} catch (ParseException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
long millis = date.getTime();
显然第一种方法更好:只用建立一个对象,就可以反复设定时间,获取毫秒值。第二种方法至少要创建两个对象,而且每设定一个时间都要创建一个新的Date对象,还有可能抛出异常,不推荐使用,仅作了解。