我有一行代码:
// I pass milliseconds timestamp on time var
ZonedDateTime zonedDatetIme = ZonedDateTime.ofInstant(java.time.Instant.ofEpochMilli(time), java.time.ZoneId.of("Asia/Almaty"))
当我这次尝试输出时,它返回:
System.our.println(zonedDatetIme)
// returns
2020-01-24T17:00+06:00[Asia/Almaty]
然后我尝试格式化这个日期时间:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern('dd.MM.yyyy hh:mm');
System.our.println(formatter.format(zonedDateTime));
这让我想起:
24.01.2020 05:00
这是错误的。这就像是在我的时区中减去6个小时,而不是加上它。为什么会这样?
您可能会混淆h
,h
-h
是AM/PM意义上的时钟小时(在您的示例中:05:00 PM=17:00),而h
是一天中的小时。
我正在尝试解析具有特定格式的当前时间戳,但每次尝试我都会得到一个。我的代码: 结果: 问题是为什么我不能以所需的格式解析它以及如何实现它? 附言:我也看到了这篇文章,并尝试设置,但没有帮助。
有没有一个时区,我可以使用,以考虑到夏令时?我知道'EDT'是指夏令时,而'EST'不是。是否有一个时区我可以使用,将自动检测日期时间是否是夏令时?“ET”或“America/New_York”能行吗? 编辑:: 抱歉应该更清楚。我想取一个日期并将其转换为东部时区,但我希望它考虑到东部时区的日期是否为夏令时。
下面是DateTimeFormatter API部分: 有人能看出问题出在哪里吗?
不幸的是,我在gradle docs中找不到任何指向我这个问题的东西。非常感谢您的帮助!
我在制作极坐标图时遇到了一些问题。我应该得到一个8字形的图形(我的一些朋友在Origin和Excel中绘制了数据,它确实可以工作),但代码似乎编写不正确。通过查看该图,我看到代码没有考虑我正在编写的角度(θ数组),但我不知道为什么会发生这种情况。我已经尝试了更多的代码,并用弧度来书写角度,但似乎没有任何效果。 我也尝试过:
在java编程中,什么时候需要考虑并发编程来保证线程安全性。还没深入了解这块,在编程时一直很犹豫。