Получить время BIOS на Java - PullRequest
2 голосов
/ 11 апреля 2011

Есть ли в Java способ получить дату и время в BIOS?

Использует ли Java BIOS (базовая система ввода / вывода) Datetime при вызове java.util.Calendar.getInstance() или new java.util.Date()?

Я знаю, что Java каким-то образом работает с текущей датой и временем, используя 1 января 1970 г., 00:00:00 GMT в качестве базы.

Но как именно?

Ответы [ 3 ]

7 голосов
/ 11 апреля 2011

Опрашивает операционную систему, которая может запрашивать или не запрашивать BIOS.

Эти даты основаны на этой эпохе следующим образом:

new Date(0); // == Thu Jan 01 01:00:00 GMT 1970
4 голосов
/ 11 апреля 2011

Есть способы, но они не переносимы.Один из способов - вызвать hwclock из вашей Java-программы через Runtime.exec () и проанализировать вывод hwclock (Linux).Другими способами было бы использование JNI и выполнение системного вызова.

0 голосов
/ 11 апреля 2011

Оба они используют System.currentTimeMillis(), который получает время по Гринвичу от ОС. В свою очередь, ОС может получать время от BIOS, но это зависит от ОС.

...