创建Date对象,获取的当前时间有误差怎么回事?电脑时间是13:47,结果是5:47,其他时间都对,是什么原因?

来源:3-6 使用 Date 和 SimpleDateFormat 类表示时间

小小雨点

2016-06-29 13:57


import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;


public class HelloWorld {

    

    public static void main(String[] args) throws ParseException {

        

// 使用format()方法将日期转换为指定格式的文本

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");

SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        

// 创建Date对象,表示当前时间

        Date now = new Date();

        

        // 调用format()方法,将日期转换为字符串并输出

System.out.println(sdf1.format(now));

System.out.println(sdf2.format(now));

System.out.println(sdf3.format(now));


// 使用parse()方法将文本转换为日期

String d = "2014-6-1 21:05:36";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        

         // 调用parse()方法,将字符串转换为日期

Date date = sdf.parse(d);

        

System.out.println(date);

}

}


结果如下:

2016年06月29日 05时47分33秒
2016/06/29 05:47
2016-06-29 05:47:33
Sun Jun 01 21:05:36 UTC 2014

写回答 关注

2回答

  • 非典型材料IT男
    2016-06-29 14:22:00
    已采纳

    你电脑显示的是东八区时间即北京时间。系统输出的是零区时间,世界标准时间。刚好相差8小时。

    小小雨点

    非常感谢!

    2016-06-29 22:07:44

    共 1 条回复 >

  • qq_几点_03546926
    2016-06-29 14:19:00

    系统获取的是UTC,协调世界时,比电脑显示的北京时间慢8小时

    小小雨点

    哦,谢谢。

    2016-06-29 22:09:15

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409764 学习 · 4538 问题

查看课程

相似问题