加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 从字符串解析为long的日期会产生错误的结果

发布时间:2020-12-14 19:17:00 所属栏目:Java 来源:网络整理
导读:我得到了简单的代码,也许问题依赖于给定的格式字符串或时区.所以这是代码: public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("HH:mm"); try { Date added = df.parse("00:00"); System.out.println(added); System.ou

我得到了简单的代码,也许问题依赖于给定的格式字符串或时区.所以这是代码:

public static void main(String[] args) {
    SimpleDateFormat df = new SimpleDateFormat("HH:mm");
    try {
        Date added = df.parse("00:00");
        System.out.println(added);
        System.out.println(added.getTime());
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

其结果是:Thu Jan 01 00:00:00 EET 1970
-10800000 – >应该是0,因为我们给00:00小时,其他时间元素保持默认.

//编辑

是的,问题在于使用时区来修复此用途
????df.setTimeZone(TimeZone.getTimeZone( “UTC”));在解析之前.

最佳答案
值10800000恰好是3小时(以毫秒为单位),我收集的大致是EET和UTC之间的偏差(实际上,根据this,它只有2小时,但我想额外的小时是DST或其他什么).

因此,差异可能是由于您的时区.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读