java - unixtime - utc time converter




Ottenere "unixtime" in Java (2)

Evita la creazione dell'oggetto Date con System.currentTimeMillis() . Una divisione per 1000 ti porta all'epoca Unix.

Come menzionato in un commento, in genere si desidera un oggetto lungo primitivo (minuscolo-l-lungo) e non un oggetto boxato lungo (maiuscolo-L lungo) per il tipo della variabile unixTime.

long unixTime = System.currentTimeMillis() / 1000L;

Date.getTime () restituisce millisecondi dal 1 gennaio 1970. Unixtime è secondi dal 1 ° gennaio 1970. Di solito non eseguo il codice in java, ma sto lavorando ad alcune correzioni di bug. Io ho:

Date now = new Date();      
Long longTime = new Long(now.getTime()/1000);
return longTime.intValue();

C'è un modo migliore per ottenere unixtime in java?

AGGIORNARE

Sulla base del suggerimento di John M, ho finito con:

return (int) (System.currentTimeMillis() / 1000L);

Java 8 ha aggiunto una nuova API per lavorare con date e orari. Con Java 8 puoi usare

long unixTimestamp = Instant.now().getEpochSecond();

Instant.now() restituisce un Instant che rappresenta l'ora attuale del sistema. Con getEpochSecond() ottieni i secondi epoca (tempo unix) da Instant .







unix-timestamp