@ KARASZI абсолютно прав насчет основной причины: метки времени Unix всегда в формате UTC, если вы не манипулируете ими.Я хотел бы предложить, чтобы, если вам нужна метка времени Unix, вы оставили ее в формате UTC и конвертировали ее в местное время, только если вам нужно отображать отформатированное время для пользователя.
Первое преимущество этого состоит в том, что всеваши серверы могут «говорить» одновременно.Например, если вы развернули серверы в Amazon EC2 US East и Amazon EC2 US West и у них общая база данных, вы можете использовать метки времени UTC в своей базе данных и на своих серверах, не беспокоясь о преобразованиях часовых поясов каждый раз.Это отличная причина использовать метки времени UTC, но это может не относиться к вам.
Вторым преимуществом этого является то, что вы можете измерять вещи по истекшему времени, не беспокоясь о переходе на летнее время (иличасовые пояса также, если вы измеряете время на движущейся платформе!).Это не так уж и много, но если бы у вас была ситуация, когда что-то занимало отрицательное время, потому что местное время «откатывалось» на час, пока вы измеряли, вы бы очень растерялись!
ТретийПричина, по которой я могу думать, очень незначительна, но некоторые любители производительности действительно оценили бы ее: вы можете получить необработанную временную метку UTC, не выделяя каждый раз новый объект Date, используя функцию «now» класса Date.
var ts = Date.now() / 1000;