【发布时间】: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
我将使用第三方 API。他们接受如下日期模式:
2012-02-15T17:34:37.937-0600
我知道模式应该匹配
yyyy-MM-ddTHH:mm:ss.s
但我不确定如何表示最后一个“-0600”时区?我认为标准时区是“-06:00”,有人知道如何去掉日期模式中的“:”吗?
谢谢。
【问题讨论】:
标签: java datetime jodatime date-parsing
也许你想要“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
【讨论】:
java.text.SimpleDateFormat 应该对自定义字符串表示非常有帮助:
Z 时区 RFC 822 时区 -0800
【讨论】: