Как установить 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