Как получить текущую метку времени 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));