DateTimeFormatter用于解析区域偏移的所有ISO有效样式[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DateTimeFormatter用于解析区域偏移的所有ISO有效样式[重复]相关的知识,希望对你有一定的参考价值。
使用以下格式化程序,我能够解析"2017-03-28T23:40:06.000+0100"
new DateTimeFormatterBuilder()
.append(ISO_LOCAL_DATE_TIME)
.appendPattern("X")
.toFormatter();
另一个解析"2017-03-28T23:40:06.000+01:00"
new DateTimeFormatterBuilder()
.append(ISO_LOCAL_DATE_TIME)
.appendPattern("XX")
.toFormatter();
但是,我无法指定解析它们的格式化程序。我应该添加什么模式?
格式化程序还应该能够处理没有区域偏移的时间戳,例如"2017-03-28T23:40:06.000Z"
由于DateTimeFormatterBuilder表现得像一个流畅的界面,最简单的方法是附加两个模式:
new DateTimeFormatterBuilder()
.append(ISO_LOCAL_DATE_TIME)
.appendPattern("X")
.appendPattern("XX")
.toFormatter();
以下开始为我工作
new DateTimeFormatterBuilder()
.append(ISO_LOCAL_DATE_TIME)
.optionalStart()
.appendPattern("[XXX][X]")
.toFormatter();
我曾经有一个任务要解析任何String to Date,如果String表示事先知道格式的有效日期。基本上我需要格式化任何可能格式的字符串。我想出了一个想法,你在其中写入你希望支持的所有数据格式的文件,然后逐个读取格式并尝试按照这种格式解析字符串,直到你成功或用完格式。以下是更详细描述该想法的文章的链接:Java 8 java.time package: parsing any string to date
以上是关于DateTimeFormatter用于解析区域偏移的所有ISO有效样式[重复]的主要内容,如果未能解决你的问题,请参考以下文章
DateTimeFormatter parseBest() 给出“无法在索引 8 处解析”异常
最全的时间类解析。 SimpleDateFormat + Date() 和 DateTimeFormatter + LocalDate()的区别与使用场景
最全的时间类解析。 SimpleDateFormat + Date() 和 DateTimeFormatter + LocalDate()的区别与使用场景
Java日期时间API系列10-----Jdk8中java.time包中的新的日期时间API类的DateTimeFormatter