gpt4 book ai didi

Java 日期格式化程序

转载 作者:行者123 更新时间:2023-11-30 04:08:25 25 4
gpt4 key购买 nike

有没有一种简单的方法可以在Java中解析以下两种类型的String to Date

2013-11-22T18:37:55.645+0000
2013-11-22T14:20:30.645Z

两者的含义相同,但我必须使用两种不同的日期格式模式

yyyy-MM-dd'T'HH:mm:ss.SSSZ
yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

我只想用 1 个模式来实现。

最佳答案

您的两种格式模式都是相同的变体,ISO 8601 .

轻松进入Joda-Time 2.3.

一行代码,使用Joda-Time的内置ISO 8601格式化程序。该格式化程序处理两个偏移量,要么是零,要么是 Z

org.joda.time.format.ISODateTimeFormat.dateTime().withZoneUTC().parseDateTime( eitherStringGoesHere );

更详细的代码...

// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.

String dateTimeStringZero = "2013-11-22T18:37:55.645+0000";
String dateTimeStringZulu = "2013-11-22T18:37:55.645Z";

org.joda.time.DateTime dateTimeZero = org.joda.time.format.ISODateTimeFormat.dateTime().withZoneUTC().parseDateTime( dateTimeStringZero );
org.joda.time.DateTime dateTimeZulu = org.joda.time.format.ISODateTimeFormat.dateTime().withZoneUTC().parseDateTime( dateTimeStringZulu );

输出...

System.out.println( "dateTimeZero: " + dateTimeZero );
System.out.println( "dateTimeZulu: " + dateTimeZulu );

运行时...

dateTimeZero: 2013-11-22T18:37:55.645Z
dateTimeZulu: 2013-11-22T18:37:55.645Z
<小时/>

如果您想要一个时区 DateTime,请更改 withZoneUTC()。请参阅withZone方法。对于用户的默认时区,只需省略任何时区调用即可。

关于Java 日期格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20202113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com