![](/img/trans.png)
[英]How to convert yyyy-mm-dd hh:mm:ss.ms to mm/dd/yyyy hh24:mi using Java
[英]How to convert dd/MM/yyyy HH:mm:ss to offsetdatetime - java
我升级到:
DateTimeFormatter dtf = DateTimeFormatter.ofPattern ("dd/MM/yyyy HH:mm:ss");
org.threeten.bp.LocalDateTime _date = org.threeten.bp.LocalDateTime.parse ("10/19/2020 18:00:47", dtf);
并得到:2020-10-19T18:00:47 但我仍然没有退出标准:2020-10-19T18:00:47.868-03:00
您的 DateTimeFormatter 具有 ("dd/MM/yyyy HH:mm:ss") 但您使用了 "10/19/2020 18:00:47"。 月份不能是 19。
将您的输入更改为“19/10/2020 18:00:47”,它应该可以工作。
org.threeten.bp.format.DateTimeFormatter dtf = org.threeten.bp.format.DateTimeFormatter.ofPattern ("dd/MM/yyyy HH:mm:ss");
org.threeten.bp.LocalDateTime _date = org.threeten.bp.LocalDateTime.parse("19/10/2020 18:00:47", dtf);
System.out.println(_date);
user3197884 先前接受的答案是正确且信息丰富的 (+1)。 我觉得它没有完全回答所问的问题,所以我想将转换贡献给org.threeten.bp.OffsetDateTime
。
DateTimeFormatter dtf = DateTimeFormatter.ofPattern ("MM/dd/yyyy HH:mm:ss");
OffsetDateTime date = LocalDateTime.parse("10/19/2020 18:00:47", dtf)
.atZone(ZoneId.of("America/Argentina/Buenos_Aires"))
.toOffsetDateTime();
System.out.println(date);
输出是你要求的:
2020-10-19T18:00:47-03:00
由于您的字符串中没有偏移量或时区,我们需要以其他方式提供偏移量。 我不敢说在您的特定情况下哪种方法是最好的,但一个非常常见的好方法是提供为字符串假定的时区。 我刚选了一个,请插入您自己的时区。
我没有交换字符串中的10
和19
,而是交换了格式模式中的dd
和MM
。 显然两者都有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.