gpt4 book ai didi

java - 如何根据 Macintosh 时间打印以毫秒为单位的日期

转载 作者:行者123 更新时间:2023-12-01 14:03:42 24 4
gpt4 key购买 nike

我有一个整数,表示自凌晨 12:00 以来经过的毫秒数。 1904 年 1 月 1 日。我相信这也称为麦金塔时间。这是原始 Mac 操作系统使用的基准时间。

通常我会这样做:

int millis = 1284543608;
Date date = new Date(millis);
System.out.println(date);

但是,这使用 Unix 纪元,因此不会返回准确的日期。

如何使用从 Macintosh 时间获取的毫秒数打印日期?

最佳答案

    Calendar macEpoch = Calendar.getInstance();
macEpoch.setTimeInMillis(0);
macEpoch.set(1904,0, 1, 0, 0, 0);

//On a mac
Calendar macTimeForToday = Calendar.getInstance();

System.out.println("ms since mac epoch: " + macTimeForToday.getTimeInMillis());
System.out.println("ms since epoch: " + (macTimeForToday.getTimeInMillis() + macEpoch.getTimeInMillis()));

请注意,当您将 -2082880800000L 添加到 macTime.getTimeInMillis() 时,整个转换就会发生

关于java - 如何根据 Macintosh 时间打印以毫秒为单位的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19113151/

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