Как получить текущую метку времени UTC в секундах

Как получить текущую отметку времени в формате UTC/GMT, а затем Как преобразовать эту отметку времени в секунды? Скорее это, но исключение

    SimpleDateFormat sdfu  = new SimpleDateFormat("yyyy-MM-dd kk:mm");
    Date udate = sdfu.parse(dateAndTimeUTC);
    long timeInMillisSinceEpoch123 = udate.getTime(); 
    long durationinSeconds2 = timeInMillisSinceEpoch123 / 1000;
    System.out.println("Time in Seconds UTC: " + durationinSeconds2);

Есть ли лучший способ конвертировать метку времени UTC/GMT в секунды?

1 ответ

Получить текущую систему секундlong timestamp = System.currentTimeMillis() / 1000;

С Java 8+ вы можете использовать:

Instant.now().getEpochSecond()

Я понял это как ниже:

long currentTS = Long.valueOf(String.valueOf(System.currentTimeMillis()/1000));

Другой способ - обрезать последние три цифры из System.currentTimeMillis():

String currentTSstr = String.valueOf(System.currentTimeMillis()); long currentTS = Long.valueOf(currentTSstr.substring(0, currentTSstr.length()-3));

Другие вопросы по тегам