Несоответствие часового пояса
Ваш код Java использует CET, который на самом деле не является часовым поясом (например, потому что в большинстве областей, где он используется, вместо этого используется CEST в течение большей части года). Java переводит CET в Европу / Париж. Франция и Париж не использовали летнее время (DST) в 1975 году. Оно было вновь введено в марте 1976 года.
В вашей ссылке на конвертер эпохи указан часовой пояс Мальты (Европа / Мальта). Мальта использовала летнее время в 1975 году: она была на CEST с 20 апреля по 21 сентября того года.
Это объясняет разницу в ваших результатах.
В Java код
Если вы хотите, чтобы мальтийское время:
String dateStr = "1975-09-19";
long epochTimestamp =
LocalDate
.parse(dateStr)
.atStartOfDay(ZoneId.of("Europe/Malta"))
.toInstant()
.toEpochMilli();
System.out.println("Epoch timestamp = " + epochTimestamp);
Это печатает:
Метка времени эпохи = 180309600000
И Конвертер эпох, с которым вы связались, счастлив согласиться:
Результаты конвертации (180309600)
180309600 преобразуются в Пятница 19 сентября 1975 г. 00:00:00 (утра) в часовом поясе Европа / Мальта (CEST) Смещение (разница по времени по Гринвичу / GMT) составляет +02: 00 или в секундах 7200. Эта дата указана в летнем времени.
В Java используйте для своей работы дату и время java .time, современный Java API даты и времени. Работать с ней намного приятнее, чем со старыми классами даты и времени, такими как SimpleDateFormat
, TimeZone
, Date
и Calendar
. Кроме того, установка часов и т. Д. c. Не является правильным способом получения первого момента дня. Есть случаи, когда летнее время начинается в начале дня, поэтому первый момент дня - 01:00:00. Java это знает, поэтому метод atStartOfDay
даст вам правильный первый момент рассматриваемого дня.
И независимо от того, используются ли устаревшие или современные классы, всегда указывайте часовой пояс в регионе / city формат, например Европа / Париж или Европа / Мальта. Трех-, четырех- и пятибуквенные сокращения часовых поясов часто неоднозначны и часто не являются истинными часовыми поясами, поэтому на них нельзя полагаться.
Ссылки