java - 将字符串转换为 LocalDateTime 或 OffsetDateTime
问题描述
我有以下代码:
String dateTimeInStr = "17-Jul-2020 12:12";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-YYYY HH:mm");
// OffsetDateTime offsetDateTime = OffsetDateTime.parse(dateTimeInStr, formatter);
LocalDateTime localDateTime = LocalDateTime.parse(dateTimeInStr, formatter);
System.out.println(localDateTime);
// System.out.println(offsetDateTime);
如您所见,我尝试将字符串 17-Jul-2020 12:12 转换为 LocalDateTime 或 OffsetDateTime。但没有任何效果。
Text '17-Jul-2020 12:12' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {WeekBasedYear[WeekFields[MONDAY,1]]=2020, MonthOfYear=7, DayOfMonth=17},ISO resolved to 12:12 of type java.time.format.Parsed
有谁知道如何解决这个问题?提前致谢。
解决方案
区分大小写
您正在使用大写的“YYYY”,即week year
. 尝试使用小写的“yyyy”:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy HH:mm");
Locale
并指定一个Locale
用于翻译月份名称的人类语言和文化规范。
DateTimeFormatter formatter =
DateTimeFormatter
.ofPattern("dd-MMM-yyyy HH:mm")
.withLocale( Locale.US );
2020-07-17T12:12
推荐阅读
- python - Matplotlib 图形图例文本添加或修改
- c# - 如何使用 Cortana 技能打开本地应用程序
- sql - SQL CopyFromRecordSet 变慢 - 自动包装和调整大小
- flutter - Flutter 从云 Firestore 中检索数组:输入“列表”
' 不是 'string' 类型的子类型 - apache-spark - Apache Zeppelin 如何计算 Spark 作业进度条?
- openmp - gfortran matmul openMP
- java - Java 保证死锁
- php - 从 html 获取日期输入并在 php 中进行比较
- mysql - SQL 表关系
- python - 使用 for 循环将多个 csv 附加到数据框中