在 Java 中获取 BIOS 时间
Java 有没有办法获取 BIOS 日期和时间?
当您调用 java.util.Calendar.getInstance() 或 new java.util.Date( 时,Java 是否使用 BIOS(基本输入/输出系统)日期时间)?
我确实知道 Java 以某种方式使用 1970 年 1 月 1 日 00:00:00 GMT 作为基础来处理当前的日期和时间。
但具体如何呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
它询问操作系统,操作系统可能会也可能不会询问 BIOS。
这些日期基于该纪元,如下所示:
It asks the operating system, which may or may not ask the BIOS.
These dates are based on that epoch in this way:
有一些方法,但这些方法不可移植。一种方法是通过 hwclock /download.oracle.com/javase/6/docs/api/java/lang/Runtime.html" rel="noreferrer">Runtime.exec() 并解析 hwclock (Linux) 的输出。其他方法是使用 JNI 并进行系统调用。
There are ways, but these are not portable. One way is to call hwclock from your java program via Runtime.exec() and parse the output of hwclock (Linux). Other ways would be using the JNI and do a system call.
这两者都使用 System.currentTimeMillis() 来从操作系统获取 GMT 时间。操作系统可能会从 BIOS 获取时间,但这取决于操作系统。
Both of these use
System.currentTimeMillis()
which obtains the GMT time from the OS. The OS may in turn get the time from the BIOS but that is up to the OS.