Я имею дату UTC в следующем формате: 2015-12-09T15:44:33.737
UTC ISO8601 дата определенного формата с местным временем
В настоящее время я делаю
var ts = '2015-12-09T15:44:33.737'
var localTimeString = new Date(ts).toLocaleDateString() + ", " + new Date(ts).toTimeString();
Смотрите здесь: http://jsbin.com/pakoxegete/1/edit?js,console
получить 12/9/2015, 10:44:33 GMT-0500 (Eastern Standard Time)
Но формат я хотел бы это
12/09/2015, 10:44:33 AM EST
Основные изменения после того, как я есть возможность перейти от военного времени на зимнее время с AM/PM, а также, чтобы иметь возможность конвертировать GMT-0500 (Eastern Standard Time)
в EST
. Часовые пояса должны работать только для основных часовых поясов, расположенных в США.
Edit: Я заинтересован в PST, MST, CST, EST
и их дневные счетчике части: PDT, MDT, CDT, EDT
Не разбора строк с Date.parse. Ваш формат будет рассматриваться как локальный в хостах ECMAScript 2015, UTC на хостах ES5 и что-либо на более ранних хостах (например, NaN в IE 8). Ручной анализ строки (используйте библиотеку или простую функцию). Строка '12/09/2015, 10:44:33 AM EST' неоднозначна как для компонента день/месяц (12 сентября или 9 декабря?), Так и для части часового пояса (есть три часовых пояса EST). – RobG
Типичный формат США месяца/дня/года. Я знаю только два восточных часовых поясов EST и EDT, но я заинтересован в 'PST, MST, CST, est' и их дневный счетчик частях:' PDT, MDT, CDT, EDT' – LearningJrDev
К сожалению, Интернет не только для США и подавляющее большинство населения мира не используют своеобразный формат США. Там нет стандартного для временных сокращений зоны, Википедия в настоящее время перечислена [* два ЭЕТ *] (https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations), но используется для перечисления 3. – RobG