Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何从2017-03-22T08:57:13-04:00转换为yyyy-MM-dd HH:MM:ss.ssz_Java_Date_Datetime - Fatal编程技术网

在Java中,如何从2017-03-22T08:57:13-04:00转换为yyyy-MM-dd HH:MM:ss.ssz

在Java中,如何从2017-03-22T08:57:13-04:00转换为yyyy-MM-dd HH:MM:ss.ssz,java,date,datetime,Java,Date,Datetime,我的理解是: 2017-03-22T08:57:13-04:00是当前时间和偏移量w.r.t GMT yyyy-MM-dd HH:MM:ss.SSSS z是GMT时间 我没有找到任何java util可以将这种格式快速转换为另一种格式。我们需要使用字符串util来转换吗 我的首选是使用Java日期或日历Util来执行相同的操作 谢谢, G我认为,根据您的要求,您需要查看一下SimpleDateFormat可能会有所帮助。另外,DateTimeFormatter也可能是一个选项。前者接受构造函数中

我的理解是: 2017-03-22T08:57:13-04:00是当前时间和偏移量w.r.t GMT yyyy-MM-dd HH:MM:ss.SSSS z是GMT时间

我没有找到任何java util可以将这种格式快速转换为另一种格式。我们需要使用字符串util来转换吗

我的首选是使用Java日期或日历Util来执行相同的操作

谢谢,
G

我认为,根据您的要求,您需要查看一下

SimpleDateFormat
可能会有所帮助。另外,
DateTimeFormatter
也可能是一个选项。前者接受构造函数中的模式,然后可以通过
新的SimpleDataFormat(模式).format(日期)
转换
java.util.Date


DateTimeFormatter是Java8新的日期API的一部分,其工作原理与java.time.LocalDateTime等新类型类似,例如,
DateTimeFormatter.of模式(“yyyy-MM-dd”).format(LocalDateTime.now())

,这已经被讨论了很多次

旧的
Date
Calendar
类乱七八糟,设计拙劣,存在缺陷,令人困惑和麻烦。它们现在是遗留的,被现代的java.time类所取代

OffsetDateTime.parse( "2017-03-22T08:57:13-04:00" )
              .toInstant()
              .toString()
              .replace( "T" , " " )
您的格式是标准ISO 8601格式。默认情况下,java.time类中使用这些标准格式

OffsetDateTime.parse( "2017-03-22T08:57:13-04:00" )
              .toInstant()
              .toString()
              .replace( "T" , " " )
2017-03-22 12:57:13Z