如何将日期字符串转换为joda DateTime?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将日期字符串转换为joda DateTime?相关的知识,希望对你有一定的参考价值。
我有一个日期字符串“ IST 2019年11月20日星期三00:00:00”。如何使用模式“ yyyyMMdd”将其转换为joda DateTime。
dateObject.setStartDate(new DateTime().plusDays(1).toString("yyyyMMdd"));
答案
您的字符串模式的问题在于,JodaTime无法识别'IST'时区。 (有关支持的时区的列表,请参见http://joda-time.sourceforge.net/timezones.html。)
如果您始终想解析同一时区中的日期,则可以使用:
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("EEE MMM dd HH:mm:ss 'IST' yyyy").withZone(DateTimeZone.forID("Indian/Mahe"));
DateTime parsed = DateTime.parse("Wed Nov 20 00:00:00 IST 2019", dateTimeFormatter);
请注意,我已经使用IST
作为模式格式的字符串文字,即,仅当您的日期字符串始终包含“ IST”字符串时,此方法才有效。
要在解析的日期中添加固定的时区信息,请使用格式化程序上的withZone
。在这种情况下,我选择了一个称为JodaTime的随机印度时区,即“ Indian / Mahe”。在支持的时区列表中查找与您的时区匹配的那个。
以上是关于如何将日期字符串转换为joda DateTime?的主要内容,如果未能解决你的问题,请参考以下文章
Joda DateTime 到 BigDecimal 分数计算
Grails 无法将 JSON 中的日期/时间解组回 joda DateTime
如何从 org.joda.time.DateTime 转换为 java.time.ZonedDateTime