黑马程序员技术交流社区

标题: Data类的一个有意思的小发现:关于计算机计时的开始 [打印本页]

作者: 王盟    时间: 2015-8-29 06:57
标题: Data类的一个有意思的小发现:关于计算机计时的开始
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点开始嘛!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2