java - ZonedDateTime.parse 无法在索引 2 处解析
问题描述
在这里查看类似的问题和解决方案后,我无法成功解析日期。我正在尝试像下面这样解析日期。但是每当它被调用时,它都会抛出错误
java.time.format.DateTimeParseException:无法在索引 2 处解析文本“2019-08-05 23:59:00America/Chicago”
这是我正在谈论的代码。任何见解或提示将不胜感激。
ZonedDateTime.parse("2019-08-05 23:59:00America/Chicago", DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mmVV"));
解决方案
你的模式完全错误。它与您尝试解析的格式不匹配。
以下模式将起作用:yyyy-MM-dd HH:mm:ssVV"
.
例子:
public static void main(String[] args) throws FileNotFoundException {
ZonedDateTime parse = ZonedDateTime.parse("2019-08-05 23:59:00America/Chicago", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssVV"));
System.out.println(parse);
}
此代码打印2019-08-05T23:59-05:00[America/Chicago]
解释:
yyyy
- 年份,4 位数字MM
- 月份,2 位数字dd
- 天,2 位数字HH
- 小时,24 小时格式的 2 位数字mm
- 分钟,2 位数字ss
- 秒,2 位数字VV
- 时区 ID
dd
您发布的代码在索引 2 处失败,因为它需要它看到的 2 位数字 ( ) 的月份值,然后在索引 2 处,它需要一个您没有20
的正斜杠 ( )。/
推荐阅读
- django - Django应用程序中不同用户类别的限制访问
- terraform - 仅提示 terraform 变量一次
- if-statement - 如何每天重命名多个文件
- javascript - 如何在html上显示本地存储
- c# - 多个线程在具有实体框架核心的同一张表(读+写)上工作
- ruby-on-rails - ActiveRecord::NotNullViolation: PG::NotNullViolation: 错误: "created_at" 列中的空值违反非空约束
- arrays - 使用 Scala 和 Spark 将 Array[Array[String]] 转换为列中的字符串
- java - 如何为 DirectoryStream 编写 junit 测试
- typescript - 枚举类型的对象键 - 不可分配给类型 'string | 号码 | 象征'
- php - 无效用户时 Modx 登录 preHook 中断