java - Joda Time LocalDate(Object instant, DateTimeZone zone) 构造函数的用途

标签 java timezone jodatime

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 的那一刻,都是瞬间。每一种都可以用几种方式表示:儒略历,从泰坦尼克号撞上冰山那一刻起经过的秒数,生活在火星上的某个外星人使用的某种日历……所有这些都是不同的表示方式,但瞬间将是一个单一的(就像 19030x76FMCMIII 是同一数字的不同表示)。

现在,如果您想将“ 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/

相关文章:

java - 如何将我的类传递给该类的通用规范?

go - 通过设置 Local 在 go 中全局设置时区

java - Spring Boot 忽略@JsonDeserialize 和@JsonSerialize

java - 将句点添加到 Joda 间隔

java - 如何将 JSONArray 转换为 int 数组?

java - 尝试使用将对象转换为字节数组时频繁GC

java - 替换java字符串中未知数量的值

ruby - 如何计算 ruby 中 UTC 给定时区的偏移量(以小时为单位)?

java - 通过 SimpleDateFormat 解析时间字符串得到错误的日期。 (偏移 1 小时)[Android/Java]

elasticsearch - 使用Joda时间解析ZonedDateTime#toString()时失败