public class DateDemo2 {
public static void main(String[] args) throws ParseException {
String dateStr = "1970-01-01 00:00:00";// 按照一定日期模板而给出的日期类型
String format2 = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf2 = new SimpleDateFormat(format2);// 给SimpleDateFormat放入模板
Date d2 = sdf2.parse(dateStr);// 对象调用成员方法parse(String s)时,在主函数声明后面需要抛出一个异常:throws ParseException
System.out.println(d2);
long time = d2.getTime();// 将Date类型的日期转换成毫秒值。
System.out.println(time);//
}
}
请看代码,上半段是Date中的一个知识点,将字符串类型的日期转换成Date类型的日期的经典代码。
出于好奇,我又加了后面两行代码,就是将Date类型的日期转换成毫秒值,因为我想看看毫秒值是从什么时候开始计算的,API中说是1970年开始的,那我就试试呗,把字符串时间dateStr设置为:"1970-01-01 00:00:00",本以为就是一个小小的验证,会出现意料之中的0,但输出的结果是一个负数,让我有点吃惊,难道有误?于是我根据毫秒值的大小继续寻找相应的时间。
当我把dateStr设置为:"1970-01-01 08:00:00"时,一颗心终于落地了,毫秒值为0。我好想发现了新大陆似的,原来我发现了API中有错误的地方,心里正偷着乐。
乐了没两下,恩?一下子想到了,哎呀,我们用的是北京时间,是在东八区,比所谓的格林威治标准时间早8个小时……可不就是得从早上8点开始嘛! |
|