gpt4 book ai didi

java - 如何将年月日从纪元转换为正确的 UTC 毫秒?

转载 作者:行者123 更新时间:2023-12-04 06:07:22 28 4
gpt4 key购买 nike

我正在尝试使用以下代码将日期转换为毫秒:

    GregorianCalendar gc = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
gc.clear();
gc.set(1900, 1, 1);

long left = gc.getTimeInMillis();

我收到 left=-2206310400000 ,但是当我检查 here ,我应该得到-2208988800000。

我究竟做错了什么?

最佳答案

您使用 1 作为月份数,这意味着二月。

你的意思是

gc.set(1900, 0, 1);

来自 the docs :

month - the value used to set the MONTH calendar field. Month value is 0-based. e.g., 0 for January.



是的,Java 日期/时间 API 已损坏。如果您在日期/时间上做大量工作,我建议您使用 Joda Time反而。
long left = new DateTime(1900, 1, 1, 0, 0, DateTimeZone.UTC).getMillis();

关于java - 如何将年月日从纪元转换为正确的 UTC 毫秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200145/

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