Как System.currentTimeMillis()/1000 работает в JAVA
Я просто хочу понять метод currentTimeMillis()/1000L в системном классе. Насколько я понимаю, этот метод будет возвращать текущее время в секундах. У меня есть сомнения здесь Если я запускаю один и тот же код в Local jvm (IST), а удаленный блок (Sanjose) будет возвращать разные значения в качестве вывода?
Может кто-нибудь объяснить мне, как это работает, если мы запустим код в другой JVM, которая будет выходить из США и Индии. Это возвращает тот же вывод? или разные?
3 ответа
Возвращает количество мс с начала эпохи Unix, которое не зависит от часового пояса. Следовательно, он должен возвращать тот же результат.
Код вернет тот же вывод, потому что функция.currentTimeMillis() использует часовой пояс UTC, а не местный часовой пояс JVM.
См. Документацию Oracle: https://docs.oracle.com/javase/7/docs/api/java/lang/System.html.
Он дает количество миллисекунд, прошедших с начала эпохи, 00:00:00 on 1 January 1970
, Это также называется Unix time. Узнайте больше об этом здесь https://en.wikipedia.org/wiki/Unix_time