【问题标题】:Java converting unix time to date different on each computer,why?Java在每台计算机上将unix时间转换为不同的日期,为什么?
【发布时间】:2011-09-24 10:52:17
【问题描述】:

我遇到了奇怪的情况,我的简单代码如下所示:

Date d = new Date(1308670980000L);
SimpleDateFormat f = new SimpleDateFormat("dd.MM.yyyy,HH:mm");
String s = f.format(d); 

我得到了一些计算机:21.06.2011 15:43,这是 我期待得到它的罚款。
但在其他电脑上我得到:21.06.2011,18:43 我不知道为什么我得到这个日期。 给我这个的 pc 或 java 配置有什么问题?

【问题讨论】:

    标签: java date unix-timestamp


    【解决方案1】:

    听起来两台计算机的时钟设置为不同的时区。

    【讨论】:

    • 在哪里可以修改时区?
    【解决方案2】:

    这取决于默认时区。

    如果您想要 GMT 时间,您需要执行以下操作:

    Date d = new Date(1308670980000L);
    SimpleDateFormat f = new SimpleDateFormat("dd.MM.yyyy,HH:mm");
    f.setTimeZone(TimeZone.getTimeZone("GMT");
    String s = f.format(d); 
    

    【讨论】:

    • 嗨,我在我的电脑中删除了接受,beaocse 它解决了问题,但在其他情况下,时间仍然是错误的,它没有做任何事情,它只是不起作用,还有什么可以是吗?
    • 这段代码中s的结果必须在每台机器上返回完全相同的结果
    猜你喜欢
    • 1970-01-01
    • 2019-07-23
    • 2015-01-20
    • 2015-05-25
    • 2020-12-23
    • 2016-04-24
    • 2012-07-04
    • 1970-01-01
    相关资源
    最近更新 更多