是否有方法在Java中获得BIOS日期和时间?
当您调用java.util.Calendar.getInstance()
或new java.util.Date()?
时,Java是否使用BIOS (Basic Input/Output System) Datetime
我知道Java用January 1, 1970, 00:00:00 GMT作为基准来处理当前日期和时间。
但究竟是怎么回事呢?
询问操作系统,操作系统可能询问BIOS,也可能不询问。
这些日期是以纪元为基础的:
new Date(0); // == Thu Jan 01 01:00:00 GMT 1970
有一些方法,但这些方法不具有可移植性。一种方法是从java程序中通过Runtime.exec()调用hwclock,并解析hwclock (Linux)的输出。其他方法是使用JNI并执行系统调用。
两者都使用System.currentTimeMillis()
从操作系统获取GMT时间。操作系统可能反过来从BIOS获取时间,但这取决于操作系统。