Как установить time to epoch time java?
Я пытаюсь установить время на дату эпохи в java. как я могу это сделать? так, что я смог получить дни месяцев года etc из времени даты эпохи.
4 ответов
использовать новая дата (0L);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(sdf.format(new Date(0L)));
позаботьтесь о своем часовой пояс потому что это изменение зависит от того, что у вас есть по умолчанию.
обновление
В java 8 вы можете использовать новый java.time
библиотека
у вас есть эта константа Instant.EPOCH
Как я понимаю, вы хотите сохранить его только в какой-то переменной? Так что используйте
Date epoch = new Date(0);
попробуй такое
Calendar c = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
c.setTimeInMillis(0);
int day = c.get(Calendar.DATE);
int month = c.get(Calendar.MONTH) + 1;
int year = c.get(Calendar.YEAR);
tl; dr
Instant.EPOCH
использование java.время
хлопотные старые классы даты и времени, включая Date
и Calendar
теперь наследие, вытесненное java.классы время. Большая часть java.функциональность времени обратно портирована на Android (см. ниже).
чтобы получить значение только даты ссылка на эпоху Java & Unix дата 1970-01-01
используйте LocalDate
. The LocalDate
класс представляет значение только даты без времени суток и без часового пояса.
LocalDate epoch = LocalDate.ofEpochDay( 0L ) ;
эпохи.toString: 1970-01-01
чтобы получить значение даты и времени той же эпохи, используйте константу Instant.EPOCH
. The Instant
класс представляет момент на временной шкале в UTC с разрешением наносекунд (до девяти (9) цифр десятичной дробью).
Instant epoch = Instant.EPOCH ;
эпохи.метод toString(): 1970-01-01T00:00:00Z
на Z
в этом стандарте ISO 8601 выход-это сокращение Zulu
и означает UTC.
получить количество лет, месяцев, дней с тех пор, используйте Period
класса.
Period period = Period.between(
LocalDate.ofEpochDay( 0 ) ,
LocalDate.now( ZoneId.of( "America/Montreal" ) )
) ;
переполнение стека поиска для большего обсуждения и примеров Period
.
о java.время
на java.время база в Java 8 и выше. Эти классы вытесняют беспокойных старых наследие классы даты и времени, такие как java.util.Date
, Calendar
, & SimpleDateFormat
.
на Joda Времени, теперь режим обслуживания, советует миграцию в java.время классы.
чтобы узнать больше, см. В Oracle Учебник. И Search Stack Overflow для многих примеров и объяснения. Спецификация JSR 310.
где получить java.время занятий?
-
Java SE 8 и SE 9 и позже
- встроенный.
- часть стандартного API Java со встроенной реализацией.
- Java 9 добавляет некоторые незначительные функции и исправления.
-
Java SE 6 и SE 7
- большая часть java.функциональность времени обратно портирована на Java 6 & 7 в ThreeTen-Backport.
-
Android
- на ThreeTenABP проект приспосабливается ThreeTen-Backport (упомянуто выше) для Android конкретно.
- посмотреть как использовать ThreeTenABP....