如何在不使用任何预定义的类或库的情况下在 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/