Преобразование строки даты в метку времени unix в JavaScript / jQuery
у меня есть строка даты в таком формате:
2009-07-15 00:00:00 - 2009-07-15 08:16:23
может ли кто-нибудь помочь мне настроить строку даты на временную метку unix в нечто вроде этого:
1247634000 - 1247663783
Я использую GMT-5
часовой пояс.
какие методы JavaScript или jQuery можно использовать?
4 ответов
var input = "2009-07-15 00:00:00 - 2009-07-15 08:16:23";
input = input.split(" - ").map(function (date){
return Date.parse(date+"-0500")/1000;
}).join(" - ");
Примечание: это не будет работать на старых браузерах, так как я использую Array.map
, но я думаю, что вы должны легко быть в состоянии проколоть его.
Я настоятельно рекомендую вам использовать момент дата lib при работе с датами в js. Он действительно легкий и потрясающий.
var timeStamp = ( moment('2009-07-15 00:00:00').unix() )*1000
в Javascript вы можете напрямую передать строку конструктору объектов Date, например
var date = new Date('2009-07-15 00:00:00'.split(' ').join('T'))
это даст вам объект даты и получить метку времени от него вы можете сделать
date.getTime() / 1000
деление на 1000, потому что getTime
даст метки времени в миллисекундах
Примечание:
Firefox не может проанализировать данный формат времени даты, поэтому нам нужно сначала преобразуйте его в правильный формат, для этого нам просто нужно заменить пространство между датой и временем на "T", что сделает его допустимым форматом ISO 8601, и firefox сможет его разобрать
ссылки:
используя метод split, вы можете изменить формат datetime на сегодняшний день, его очень просто и легко для всех.
var str = "2017-05-09T00:00:00.000Z";
var res = str.split("-",2);
var res = str.split("T",1);
var temp=res;