Почему время эпохи Java отклоняется на 30 минут при анализе через SimpleDateFormatJAVA

Программисты JAVA общаются здесь
Anonymous
Почему время эпохи Java отклоняется на 30 минут при анализе через SimpleDateFormat

Сообщение Anonymous »


Каким-то образом анализ строк даты и времени и преобразование их в миллисекунды после эпохи работает по-разному в разных средах. Казалось бы, что-то не так с часовым поясом или чем-то еще. Теоретически эта строка должна представлять 0 секунд с начала эпохи: «1970-01-01T00:00:00Z»

На практике на машинах разработчиков это загадочным образом составляет 30 минут (18000000 мс).

/** * На самом деле это должно возвращать 0, но локально оно возвращает 30 минут миллисекунд. * @return Миллисекунды, прошедшие с нашей эры. На самом деле должно быть равно нулю, но это не всегда. */ public long defineMysteriousMachineTimeDelta() { Строка strDateOfEpochStart = "1970-01-01T00:00:00Z"; Формат SimpleDateFormat = new SimpleDateFormat("гггг-ММ-дд'Т'ЧЧ:мм:сс'Z'"); Дата dateStartOfEpoch = null; пытаться { dateStartOfEpoch = format.parse(strDateOfEpochStart); } catch (ParseException e) { вернуть -1; } вернуть датуStartOfEpoch.getTime(); } Спасибо!

Вернуться в «JAVA»