【问题标题】:java - Convert date string to UTC time [duplicate]java - 将日期字符串转换为UTC时间[重复]
【发布时间】:2016-03-21 13:53:17
【问题描述】:

我只需要一个示例代码块或建议将以下日期字符串转换为 utc 时间并在 java 中找到与当前时间的差异?

日期字符串“2016-03-21T15:58:36-04:00”

提前致谢

【问题讨论】:

  • 在 Stack Overflow 上有 很多 的关于在 Java 中解析日期/时间字符串的问题。你是怎么看的?请记住,SimpleDateFormat.parse 将返回一个Date,它没有时区——它只是一个瞬间。如果您的格式字符串正确,并且数据仍然包含 UTC 偏移量(就像这里所做的那样),则无需进行进一步的转换。

标签: java date utc


【解决方案1】:

您需要按以下方式格式化日期字符串:

String string = "2016-03-21T15:58:36-04:00";
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", Locale.ENGLISH);
Date date = format.parse(string);

那么你只需要使用 Date API 来查找时差。

【讨论】:

    【解决方案2】:
    public static long getMillisFrom(String inStrDate) {
    
       DateFormat ISO_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH);
    
       Date inDate = ISO_DATE_FORMAT.parse(inStrDate);
    
       Date curDate = new Date();
    
       long diffMillis = curDate().getTime() - inDate.getTime();
       return diffMillis
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-24
      • 2016-08-03
      • 2016-02-28
      • 2020-01-24
      • 2012-07-02
      • 1970-01-01
      • 2014-11-18
      • 2021-04-19
      相关资源
      最近更新 更多