java - 我怎样才能在java中获取系统的当前日期和时间而不使用任何预定义的类或库?

标签 java date java.util.date

如何在不使用任何预定义的类或库的情况下在 java 中获取系统的当前日期和时间? 我实际上是从头开始制作自己的日期 ADT 作为 java.util.Date 或 Java.util.Calendar。但我无法找到一种方法来获取系统日期和时间,比如计算某人的年龄(如果他输入当前年龄)。 在某种程度上,我想了解日期或日历类的开发人员如何实际实现它。有没有一种方法可以让我看到 java.util 包中定义的 Date 和 Calendar 类的代码。

最佳答案

好吧System.currentTimeMillis()不在 java.util 中 - 这是您要找的吗?然后,您必须编写代码来计算出该值(自 unix 纪元以来的毫秒数)在年等方面的含义 - 并且您应该考虑时区和日历系统。

我个人会避免尝试编写自己的日期/时间包,除非只是为了好玩。 java.util.Date/Calendar 很糟糕,但是 Joda Time好多了,还有即将推出的 JSR 310 .

Is there a way that i can see the code of Date and Calendar classes defined in java.util package.

当然 - 当您安装 JDK 时,您应该可以选择安装标准库的源代码副本,通常位于 src.zip 中。或者,您可以访问 openjdk.java.net然后看那里。

actually i don't want to use any predefined function at all.

那么你必须使用JNI进行底层系统调用,这对我来说似乎毫无意义 - 因为它基本上就是 System.currentTimeMillis 要做的事情。如果您想学习 JNI,那没问题,但它与日期/时间没有太大关系。

当然,如果您对准确时间而不是*系统时间感兴趣,您可以实现 NTP客户端。

关于java - 我怎样才能在java中获取系统的当前日期和时间而不使用任何预定义的类或库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12448596/

相关文章:

java - 如何在java中获取最新的一组日期变量

java - 不同的时间间隔 util.date 和 DAYS.between(Localtime)

Java/Android 应用程序意外关闭/POST 到服务器

java - 简单的 spring boot web 应用程序不起作用,whitelabel 错误页面

java - 如何从 2D int 数组构造 ArrayList?

vba - 查询表达式 '2020-12-01'中的语法错误(缺少运算符)

java - 如何从java中的当前日期减去n天?

java - 多listView android

mysql - 从忽略周末的日期中减去天数

java - 尝试计算两个日期之间的天数差异时的“no suitable method found for between(Date, Date)"