java - 如何将时间 "0000-00-00 00:00:00"设置为 LocalDateTime?

标签 java date datetime

要编写测试,我需要将 LocalDateTime 设置为 0000-00-00 00:00:00。 当我尝试使用格式化程序设置它时:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime.parse("0000-00-00 00:00:00", formatter)

它抛出异常:

java.time.format.DateTimeParseException: Text '0000-00-00 00:00:00' could not be parsed: Invalid value for YearOfEra (valid values 1 - 999999999/1000000000): 0

我该怎么做?

最佳答案

您正在尝试设置 0 年 0 月的第 0 天。因此存在 3 个错误:

  • 任何月份都没有第 0 天。日期总是从 1 开始
  • 任何年份都没有 0 月。月份总是从 1 开始
  • There's no year 0 in the Gregorian calendar 。这就是您收到的错误(YearOfEra 的值无效)。您应该设置大于 0 的年份

关于java - 如何将时间 "0000-00-00 00:00:00"设置为 LocalDateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59800273/

相关文章:

java - 只有一个同步点是否有可能出现死锁?

java - 跟踪 OSGi 服务时,扩展 ServiceTracker 类和实现 ServiceTrackerCustomizer 接口(interface)之间有区别吗?

matlab - 矢量化日期数组计算

php - 在mysql中从午夜减去时间

javascript - 使用 moment.js 从两个变量设置日期和时间

java - 向对象属性 javafx 添加监听器

java - 如何从 java 删除 Google Cloud Platform 中的存储桶?

javascript - 通过传递参数创建多个日期选择器

date - 如何在谷歌表中插入昨天的日期

javascript - 根据数组中的小时计算日期的出现次数