Задать вопрос
epic_noob
@epic_noob

Парсинг даты из ISO 8601

Есть строка в ISO формате 2005-08-09T18:31:42+03:30
Как мне узнать отсюдова что часовой пояс +03:30?
Мб какая нибудь библиотечка есть?
  • Вопрос задан
  • 4215 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
opium
@opium
Просто люблю качественно работать
А шесть последних букв вам не подходит?
Ответ написан
Комментировать
btd
@btd
Ответ написан
Комментировать
azproduction
@azproduction
Можно использовать date.js или же просто регулярку
var rx = /[+-]\d{2}\:?(?:\d{2})?$/;
"2005-08-09T18:31:42+03:30".match(rx); // ["+03:30"]
"2005-08-09T18:31:42+0330".match(rx); // ["+0330"]
"2005-08-09T18:31:42+03".match(rx); // ["+03"]

// Или более правльный формат таймзоны
var rx = /[+-]\d{2}\:?\d{2}$/; //  не включает короткую запись таймзоны 2005-08-09T18:31:42+03 - такие даты так же не парсят браузеры
Ответ написан
Комментировать
termi
@termi
developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset
var d = new Date("2005-08-09T18:31:42+03:30")
d.getTimezoneOffset() / 60
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы