У меня было две метки времени в формате ical, и я хочу сначала преобразовать их в обычное время, а затем в unix-время.
Вот эта функция, которую я использовал для преобразования метки времени в unix:
var normal_to_unix = function (date_string) {
var date = new Date(date_string);
return date.getTime() / 1000;
}
Эта функция в порядке, поскольку дата уже в UTC, и мне не нужно выполнять какие-либо преобразования.
Теперь эта функция используется для преобразования времени в unix.Реальное время в моем случае выглядит как "20180603T150000Z"
.
var ics_to_unix = function (ics_string) {
var year = ics_string.slice(0, 4);
var month = ics_string.slice(4, 6);
var date = ics_string.slice(6, 8);
var hours = ics_string.slice(9, 11);
var minutes = ics_string.slice(11, 13);
var seconds = ics_string.slice(13, 15);
var milliseconds = 0;
console.log(year, month, date, hours, minutes, seconds, milliseconds); // This is example output 2018 06 03 15 00 00 0
return normal_to_unix((new Date(year, month, date, hours, minutes, seconds, milliseconds)).toDateString())
}
Теперь проблема в том, что я получаю одинаковое время Unix для "20180603T150000Z"
и "20180603T160000Z"
, которые должны давать разные метки времени, и оно1530576000
для них обоих.
Есть ли что-то, что я пропускаю?Заранее спасибо.
Пожалуйста, посмотрите на this для живого примера