форматирование даты в javascript с указанием часовых поясов - PullRequest
1 голос
/ 03 января 2011

Я получаю дату из источника данных, которая возвращается в код JavaScript.

2011-01-03T05:53:00Z

Как лучше форматировать эту дату?TZ не нужно смещать, поскольку все пользователи будут находиться в одной зоне, мне нужен метод, чтобы просто отформатировать его.() но есть ли более элегантное решение?

Ответы [ 3 ]

2 голосов
/ 03 января 2011

Использование обратной ссылки:

var dat = "2001-08-01T12:00:00Z";
var newDat = dat.replace(/(\d{4})-(\d{2})-(\d{2})T([0-9:]+)Z/, "$2/$3/$1 $4");
alert(newDat);
1 голос
/ 03 января 2011

Первым решением было бы полагаться на регулярное выражение, но после проверки, по крайней мере, с V8, конструктор Date принимает строку, имеющуюся у вас в качестве источника, в качестве допустимой строки даты.

var date = new Date ("2011-01-03T05: 53: 00Z")

создает действительный объект Date. Затем вы можете использовать методы Date для создания строки, которую вы будете использовать.

см. https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date для получения дополнительной информации об объекте Date.

1 голос
/ 03 января 2011

Я сделал это так - он работает в IE8, Fx3.6, Safari4, Chrome, в отличие от неотредактированной строки, которая работает в Fx, но не в некоторых других браузерах:

new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/[T|Z]/g,' '))

, ноЯ уверен, что кто-то опубликует REGEX с обратными ссылками:)

...