Мені потрібно отримати кількість мілісекунд з 01.01.19 UTC за сьогодні до UTC у Java.
Я також хотів би мати можливість отримати кількість мілісекунд від 1970-01-01 UTC до будь-якого іншого часу UTC.
Мені потрібно отримати кількість мілісекунд з 01.01.19 UTC за сьогодні до UTC у Java.
Я також хотів би мати можливість отримати кількість мілісекунд від 1970-01-01 UTC до будь-якого іншого часу UTC.
Відповіді:
Як щодо System.currentTimeMillis()?
З JavaDoc:
Повертає: різниця, вимірювана в мілісекундах, між поточним часом та півночі, 1 січня 1970 р. UTC
Java 8 представляє java.timeфреймворк, зокрема Instantклас, який " ... моделює ... точку на часовій лінії ... ":
long now = Instant.now().toEpochMilli();
Повертає: кількість мілісекунд з епохи 1970-01-01T00: 00: 00Z - тобто майже так само, як вище :-)
Ура,
System.currentTimeInMs()оновлення не відбувається кожні мілісекунди!
Використання java.timeфреймворку, вбудованого в Java 8 і пізніших версій.
import java.time.Instant;
Instant.now().toEpochMilli(); //Long = 1450879900184
Instant.now().getEpochSecond(); //Long = 1450879900
Це працює в UTC, тому що Instant.now()це справді заклик доClock.systemUTC().instant()
https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html
Також спробуйте System.currentTimeMillis()
Ви також можете спробувати
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTimeInMillis());
getTimeInMillis () - поточний час у мілісекундах UTC від епохи