什么是java中2019-05-14T17:21:04 + 0000的等效日期和时间,我怎么能得到它?

时间:2019-06-07 05:42:25

标签: java mysql date time

我想使用JAVA将2019-05-14T17:21:04 + 0000转换为正常的日期和时间格式,然后将其存储在数据类型为datetime的Mysql数据库表中。

1 个答案:

答案 0 :(得分:2)

这些是ISO 8601标准定义的现代格式。

String timestr = "2019-05-14T17:21:04+0000";

// DateTimeFormatter.
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssz") ;
OffsetDateTime offsetDateTime = OffsetDateTime.parse(timestr, formatter);

本地化输出。

Locale locale = Locale.US ;
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.MEDIUM ).withLocale( locale ) ;
String output = offsetDateTime.format( f ) ;
System.out.println(output);

相同的想法,但具有旧的日期时间类。

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZ");

try {
    Date date = format.parse("2019-05-14T17:21:04+0000");
    System.out.println(date);
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} 

参考:https://help.sumologic.com/03Send-Data/Sources/04Reference-Information-for-Sources/Timestamps%2C-Time-Zones%2C-Time-Ranges%2C-and-Date-Formats