Joda Time 的 LocalDate
将自己描述为:
LocalDate is an immutable datetime class representing a date without a time zone.
但是有一个LocalDate(Object instant, DateTimeZone zone)
接受时区的构造函数。如果对象是无时区的,那么时区构造函数的目的是什么?
构造函数 JavaDocs 指出:
Constructs an instance from an Object that represents a datetime, forcing the time zone to that specified.
我不知道“强制指定时区”是什么意思,因为该对象是无时区的。也许它在内部转换为 UTC,然后删除时间(保留日期)。
最佳答案
瞬间是物理学领域的一个概念。这是一个时间点,定义明确,无论您如何表示它。它在概念上与时区、日历或任何人类文化惯例无关。
示例:Apollo XI landed on Moon 的时刻,或者 J. Kennedy 被 Gunicorn 的那一刻,都是瞬间。每一种都可以用几种方式表示:儒略历,从泰坦尼克号撞上冰山那一刻起经过的秒数,生活在火星上的某个外星人使用的某种日历……所有这些都是不同的表示方式,但瞬间将是一个单一的(就像 1903
,0x76F
或 MCMIII
是同一数字的不同表示)。
现在,如果您想将“ Apollo 十一世登月时刻”转换为 LocalDate(地球公历中使用的日-月-年),您将要一个完全不同的领域,并且 - 一方面 - 你需要知道时区,因为在某些国家/地区,即时(1969 年 7 月 20 日,20:17:40 UTC)对应于 1969 年 7 月 20 日,in others to July 21
关于java - Joda Time LocalDate(Object instant, DateTimeZone zone) 构造函数的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13388283/