tl; dr
Masz liczbę całych sekund od 1970-01-01T00:00:00Z
zamiast milisekund.
Instant.ofEpochSecond(1_379_487_711L)
.toString()
2013-09-18T07: 01: 51Z
Całe sekund porównaniu milisekundach
Jak stwierdzono powyżej, mylić licznik-of-sekund z mnożnikiem z eksploatacji milisekundy.
Korzystanie java.time
innych odpowiedzi mogą być prawidłowe, ale są przestarzałe. Kłopotliwe stare klasy czasu i daty są teraz dostępne, zastąpione przez klasy java.time. W przypadku Androida zapoznaj się z ostatnimi punktami poniżej.
Klasa Instant
reprezentuje moment na osi czasu w UTC z rozdzielczością nanoseconds (do dziewięciu (9) cyfr ułamka dziesiętnego).
Instant instant = Instant.ofEpochSecond(1_379_487_711L) ;
instant.toString(): 2013-09-18T07: 01: 51Z
Zastosuj strefę czasową, przez które chcesz wyświetlić ten moment.
ZoneId z = ZoneId.of("America/Montreal") ;
ZonedDateTime zdt = instant.atZone(z) ;
zdt.toString(): 2013-09-18T03: 01: 51-04: 00 [Ameryki/Montreal]
Zobacz ten code run live at IdeOne.com.
O java.time
Ramy java.time jest wbudowana w Java 8 i późniejszych. Klasy te zastępują kłopotliwe stare klasy z datami, takie jak java.util.Date
, Calendar
, & SimpleDateFormat
.
Projekt Joda-Time, teraz w maintenance mode, zaleca migrację do klas java.time. Aby uzyskać więcej informacji, zobacz
. I wyszukaj Stack Overflow dla wielu przykładów i objaśnień. Specyfikacja to JSR 310.
Gdzie można uzyskać lekcje java.time?
Projekt ThreeTen-Extra rozciąga java.time z dodatkowych zajęć.Ten projekt jest poligonem wskazującym na możliwe przyszłe dodatki do java.time. Możesz znaleźć tutaj kilka użytecznych klas, takich jak Interval
, YearWeek
, YearQuarter
i more.
Czy jesteś pewien, że jest to w mili-sekundach, a nie w prostych sekundach? użyj tego, aby sprawdzić swój czas: http://www.onlineconversion.com/unix_time.htm – Sean
Kiedy sprawdziłem odpowiedź jest środa, 18 września 2013 07:01:51 UTC – jkk
Używam znacznika czasu jako długiego czasu = System.currentMilliSeconds ; – jkk