gpt4 book ai didi

java - 时区如何使用零 (0L) 纪元计数影响新日期

转载 作者:行者123 更新时间:2023-12-01 17:00:43 24 4
gpt4 key购买 nike

以下代码在印度返回 0L 的“1970-01-01”,在加拿大返回“1969-12-31”。我不知道这里出了什么问题,谁能告诉我这里出了什么问题。我怀疑这是因为时区问题,但需要更多信息。

public static RestEDate convertLongDateToStringDate(long lDate) {
String returnDate = "";
if (lDate >= 0) {
returnDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date(lDate));
}
return new RestEDate(returnDate);
}

最佳答案

是的,这是一个时区问题。您的 SimpleDateFormat 实例默认为当前时区。 1970 年 1 月 1 日午夜 GMT(即 0L 的意思)是加拿大东海岸 1969 年 12 月 31 日 19:00 (GMT-0500) 和西海岸 1969 年 12 月 31 日 16:00加拿大 (GMT-0800)。 Date 实例是正确的,但其解释方式取决于格式化程序使用的时区。

要设置 SimpleDateFormat 使用的时区(例如,GMT),请使用其 setTimeZone方法(或者 setCalendar 如果您已经有想要使用的日历)。

关于java - 时区如何使用零 (0L) 纪元计数影响新日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27819420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com