java - Java中的简单日期类

标签 java date time calendar

Java中是否有一个日期类,我可以用年、月、日、小时、分钟、秒和毫秒构造它,然后进行比较,给出两个日期值之间的毫秒数,忽略夏令时等内容,闰秒等?我可以为此使用 Calendar 类吗?我正在考虑这样做,但它谈到了闰秒和夏令时,我不希望这影响计算。

重要的是,以下不变量始终成立:

对于所有 y1、y2、m1、m2、d1、d2、h、m、s、ms:

(
    f(y1, m1, d1, h, m, s, ms).getTimeInMillis() - 
    f(y2, m2, d2, h, m, s, ms).getTimeInMillis()
) 
% 
(24 * 60 * 60 * 1000) == 0

我基本上需要知道函数 f 应该是什么。

最佳答案

是的,您可以使用 Calendar 类进行计算。您可以构造日期并使用 getTimeInMillis() 进行比较。

我还推荐一个joda-time java 库,有很多日期功能。它也有更好的性能。

关于java - Java中的简单日期类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5013298/

相关文章:

java - 使用 Java Spark 如何发送 html 文件作为响应

Java 的 Card 类示例 - 打印枚举值

c - 我如何在 C 中打印日期?

c - 输入错误后循环返回,fgetc(stdin) 问题和循环

date - 如何在 Swift 中解析/创建格式为小数秒 UTC 时区(ISO 8601、RFC 3339)的日期时间戳?

php - 简单查询耗时较长(~15 秒)

java - 如何生成源代码来创建我正在调试的对象?

r - 如何提取 10 个字符数字的前 6 位数字并将其转换为 as.Date?

java - 将秒数转换为 T1H15M5S (ISO_8601)

java - VisualVM 不显示调用 CPU 性能分析的任何方法