Разница в дате в javascript / jQuery - PullRequest
0 голосов
/ 25 января 2012

Я запрашиваю API графа Facebook. Возвращает дату в следующем формате: 2012-01-23T23:52:29+0000.

Мне нужно найти разницу дат этого типа в JavaScript. Это недопустимая дата в javascript (Date.parse() или new Date())

Я думаю о замене 'T' на ' ' (пробел), '-' на '/' и '+0000' на '' (пустая строка). Это единственный способ? Или я что-то здесь упускаю?

Кроме того, если это единственный способ, может ли кто-нибудь дать мне регулярное выражение для замены всего за один раз?

Скорость исполнения - моя главная задача.

1 Ответ

2 голосов
/ 25 января 2012

Я бы сказал «да» замене - на /, поскольку именно таков стандарт ISO, который диктуется (Facebook любит крутить вещи, например, теги <meta> с атрибутами property вместо name как и должно быть).

Оставьте часть часового пояса, так как JS это понимает и будет соответственно обрабатывать.

В целом, вы хотите new Date(input.replace(/-/g,'/'));.

В ответ на комментарии, лучшее (более полное) решение будет:

new Date(input.replace(/-/g,'/').replace("T"," ").replace(/\+[0-9]+$/,''));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...