DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd yyyy HH:mm:ss");
OR
java.text.DateFormat dateFormat = new java.text.SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss");
我在数据库表中使用时间格式,必须将它们转换为yyyy-MM-dd HH:mm:ss
或MM/dd/YYYY HH:mm:ss
输入:Mon Jan 21 2019 20:06:48 GMT-0400 (EDT)
预期输出:01/21/2019 20:06:48
答案 0 :(得分:0)
2019年1月21日是一个星期四,不是星期四,Java解析时会抛出错误
您需要一个格式化程序来解析您的字符串,并且需要一个格式化程序来按需要打印日期
Locale.ENGLISH
,则可以将其删除):
String input = "Mon Jan 21 2019 20:06:48 GMT-0400 (EDT)";
DateTimeFormatter inFormatter =
DateTimeFormatter.ofPattern("EE MMM dd yyyy HH:mm:ss 'GMT'xx (z)", Locale.ENGLISH);
DateTimeFormatter outFormatter =
DateTimeFormatter.ofPattern("MM/dd/yy HH:mm:ss", Locale.ENGLISH);
OffsetDateTime od = OffsetDateTime.parse(input, inFormatter);
System.out.println(od); // 2019-01-21T20:06:48-04:00
System.out.println(od.format(outFormatter)); // 01/21/19 20:06:48