Дати, време и iOS Safari

Safari на iOS е един от най-добрите мобилни браузъри. Въпреки това има едно нещо в него, което често ме кара да се чудя защо web-app-а ми не работи – JS Date обектът.

Във всеки нормален браузър можеш да създадеш Date обект от низ просто така:

var myDate = new Date('2013-01-21T13:46:20');

Но в Safari (iOS) това просто дава JS грешка.

За да го оправите трябва да използвате добрия стар split() и да направите нещо като това:

//First we split the date string
var iosDateArr = '2013-01-21T13:46:20'.split('[- :T]');
//And use the constructor with 6 args
cDate = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]);

Забележете че месеца е намален с 1. Това е защото в този конструктор месеците започват от 0 за Януари и са до 11 за Декември.

Успех с JS програмирВането и по-малко подобни проблеми 🙂

Leave a comment

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.