【问题标题】:java date pattern for timezone without ":"没有“:”的时区的java日期模式
【发布时间】:2012-05-11 02:11:37
【问题描述】:

我将使用第三方 API。他们接受如下日期模式:

2012-02-15T17:34:37.937-0600

我知道模式应该匹配

yyyy-MM-ddTHH:mm:ss.s

但我不确定如何表示最后一个“-0600”时区?我认为标准时区是“-06:00”,有人知道如何去掉日期模式中的“:”吗?

谢谢。

【问题讨论】:

    标签: java datetime jodatime date-parsing


    【解决方案1】:

    也许你想要“Z”?

    http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html:

    • 'z' 为您提供“太平洋标准时间;PST;GMT-08:00”
    • 'Z' 给你“-0800”

    这段代码:

    final SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SZ");
    

    产生:

    2012-05-11T12:21:57.598+1000

    【讨论】:

    • @ttt:还要注意毫秒的大写“S”(与您问题的日期规范不同)和“T”周围的单引号。
    【解决方案2】:

    java.text.SimpleDateFormat 应该对自定义字符串表示非常有帮助:

    Z 时区 RFC 822 时区 -0800

    【讨论】:

      猜你喜欢
      • 2013-04-04
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 2018-12-17
      • 1970-01-01
      • 2021-05-08
      • 1970-01-01
      相关资源
      最近更新 更多