я столкнулся со странным поведением сафари iOS 8.2 при преобразовании строк даты и времени в временные метки unix ms во время перехода на летнее время. Допустим, у нас есть js-код
function date2unix(dates){
var len = dates.length;
var result = [], arr;
while(len--) {
arr = dates[len].split(/[- :]/);
result[len]= (new Date(arr[0], arr[1]-1, arr[2], arr[3],arr[4],arr[5]).getTime());
}
return result;
}
var dates =
["2015-03-29 00:00:00","2015-03-29 00:15:00","2015-03-29 00:30:00","2015-03-29 00:45:00","2015-03-29 01:00:00","2015-03-29 01:15:00","2015-03-29 01:30:00","2015-03-29 01:45:00","2015-03-29 03:00:00","2015-03-29 03:15:00","2015-03-29 03:30:00","2015-03-29 03:45:00"];
alert(date2unix(dates))
iOS 8.2 Safari дает неоднозначные значения (1-й == 5-й, 2-й == 6-й, ...), в то время как хром 41.0.2272.101 ведет себя правильно. Обратите внимание, что оспариваемый 2-й час был опущен в датах массива. Может ли кто-нибудь помочь мне с поиском обходного пути, пожалуйста?
Попробуйте: http://jsfiddle.net/q6vd0fos/
С уважением