【问题标题】:Unable to find Dateformat找不到日期格式
【发布时间】:2021-07-29 10:48:40
【问题描述】:

我知道这是一个非常愚蠢的问题,但我无法为给定的日期找到合适的日期格式化程序:2020/04/01T20:00-05:002020/03/05T21:45-07:00。任何形式的帮助将不胜感激。

【问题讨论】:

  • 为什么/ 不是-?您应该只使用 ISO 8601。
  • 您的搜索结果是什么?你试过什么?这个问题本身并不愚蠢,而是在不报告您的搜索和研究的情况下发布 - 它并没有为我们提供帮助您的最佳起点,并且违反了the guidelines

标签: java date datetime


【解决方案1】:

您找不到,因为那是一种非标准格式。 - 是行业标准,使用时区偏移已过时。因此,您必须自己制作。但这很简单,幸运的是!

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd'T'HH:mmZZZZZ");
var zdt = ZonedDateTime.parse("2020/04/01T20:00-05:00", dtf);
System.out.println(zdt);
> 2020-04-01T20:00-05:00

【讨论】:

  • 什么意思使用时区偏移已经过时了?我认为它们非常适合某些目的,当然不适合其他目的。 ISO 8601 使用它们。
  • @OleV.V.是的,有时(呵呵)偏移量是正确的答案,但更常见的是区域 ID 可以满足您的所有需求,甚至更多。基于 tzoffset 的时间不能用于以有用的方式执行诸如“下个月重复此约会”之类的事情(在这种情况下,如果进行约会的基础区域做了一个夏令时之间切换?)tzoffsets 不需要整个 tzdata 源,但在现代平台(包括 JVM)上,tzdata 只是可用的,所以使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多