A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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点开始嘛!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马