我的理解是: 2017-03-22T08:57:13-04:00是格林尼治标准时间的当前时间和偏差 和yyyy-MM-dd HH:mm:ss.SSSS z是GMT时间。
我没有找到任何java util来快速将其从一种格式转换为另一种格式。我们是否需要使用字符串util来转换?
我的偏好是使用Java Date或Calendar Util来做同样的事情。
谢谢, ģ
答案 0 :(得分:1)
我认为你要问的是你需要看看SimpleDateFormat
答案 1 :(得分:0)
SimpleDateFormat
可能会有所帮助。 DateTimeFormatter
也可能是一种选择。前者接受构造函数中的模式,然后可用于通过java.util.Date
转换new SimpleDateFormat(pattern).format(date)
。
DateTimeFormatter是Java8的新Date API的一部分,其工作方式与java.time.LocalDateTime
类似DateTimeFormatter.ofPattern("yyyy-MM-dd").format(LocalDateTime.now())
类似。
答案 2 :(得分:0)
这已经被多次覆盖了。
旧Date
和Calendar
类是一个非常混乱,设计不佳,有缺陷,令人困惑和麻烦。它们现在已经遗留下来,取而代之的是现代java.time类。
您的格式为标准ISO 8601格式。默认情况下,这些标准格式在java.time类中使用。
OffsetDateTime.parse( "2017-03-22T08:57:13-04:00" )
.toInstant()
.toString()
.replace( "T" , " " )
2017-03-22 12:57:13Z