Purpose of Joda Time LocalDate(Object instant, DateTimeZone zone) constructor
Joda Time的
LocalDate is an immutable datetime class representing a date without a
time zone.
号
然而,有一个
构造函数javadocs声明:
Constructs an instance from an Object that represents a datetime,
forcing the time zone to that specified.
号
我不知道"强制时区到指定的时间"是什么意思,因为对象是不带时区的。也许它在内部转换为UTC,然后减少时间(保留日期)。
瞬间是物理学领域的一个概念。它是一个时间点,定义良好,不管你如何表示它。它与时区、日历或人类文化的任何习俗在概念上无关。
例子:阿波罗登陆月球的那一刻,或者J. Kennedy被击毙的那一刻,都是瞬间。每一个都可以用几种方式来表示:朱利安历法,从泰坦尼克号撞上冰山的那一刻开始,几秒钟就过去了,一些生活在火星上的外星人使用的历法……所有这些都是不同的表示,但瞬间将是单一的表示(就像
现在,如果你想把"阿波罗登月时刻"转换成一个当地日期(一天一个月,就像在地球的格雷高利历法中使用),你将进入一个完全不同的领域,一方面,你需要知道时区,因为在一些国家,即刻(1969年7月20日,20:17:40UTC)对应于1969年7月20日,在其他的To 7月21日
如果不知道时区(或至少是从UTC/格林威治的偏移量),则无法从即时转换为本地日期或时间。由于第一个参数是一个瞬间(如
注意,还有一个构造函数
(回复乔达斯特芬)
Note that there is also a constructor
LocalDate(Object) which uses the default time-zone internally.
号
请注意,如果使用
因此,要正确地将创建的
1 2 |
至少对于jodatime 2.2是这样的;我们已经调试了代码。
您应该阅读整个javadoc:
If the object contains no chronology, ISOChronology is used. If the
specified time zone is null, the default zone is used. Once the
constructor is completed, the zone is no longer used.The recognised object types are defined in ConverterManager and
include ReadablePartial, ReadableInstant, String, Calendar and Date.
The String formats are described by
ISODateTimeFormat.localDateParser(). The default String converter
ignores the zone and only parses the field values.
号
这样,日期(字符串、日历、日期等)的表示形式以及指定的时区将为您提供本地时间。
例如,如果您有日期的