C# 中 DateTime.Ticks 的 Java 等价物是什么?
DateTime dt = new DateTime(2010, 9, 14, 0, 0, 0);
Console.WriteLine("Ticks: {0}", dt.Ticks);
Java 中上述代码的等价物是什么?
原文由 user243174 发布,翻译遵循 CC BY-SA 4.0 许可协议
C# 中 DateTime.Ticks 的 Java 等价物是什么?
DateTime dt = new DateTime(2010, 9, 14, 0, 0, 0);
Console.WriteLine("Ticks: {0}", dt.Ticks);
Java 中上述代码的等价物是什么?
原文由 user243174 发布,翻译遵循 CC BY-SA 4.0 许可协议
在Java中是:
long TICKS_AT_EPOCH = 621355968000000000L;
long tick = System.currentTimeMillis()*10000 + TICKS_AT_EPOCH;
原文由 Cristian Keller 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
好吧,java.util.Date/Calendar 只能精确到毫秒:
这是最接近的有效等价物。如果您需要在 .NET 刻度值和
Date
/Calendar
之间进行转换,您基本上需要执行缩放(刻度到毫秒)和偏移(公元 1 月 1 日至 1970 年 1 月 1 日) .Java 的内置日期和时间 API 相当令人不快。我个人建议您改用 Joda Time 。如果您能说出您真正想做的事情,我们可以提供更多帮助。
编辑:好的,这是一些示例代码:
请注意,这会构造一个日期/日历,表示 2019/9/14 的 UTC 时刻。 .NET 表示有些模糊——您可以创建两个 DateTime 值,除了它们的“种类”不同(但因此代表不同的时刻)之外它们是相同的,并且它们将声称是相等的。有点乱:(