Я получаю объект даты из API. Вот формат, возвращаемый API:
"2016-04-05 13:39:46.612"
Chrome, кажется, интерпретирует это и отображает правильно, но в Firefox, Safari и IE я получаю либо нулевую, либо неверную дату.
Результаты Chrome:
console.log(purchaseDate)
>> Tue Apr 05 2016 13:39:46 GMT-0500 (CDT)
Этот HTML-код в представлении Angular: {{$scope.purchaseDate | дата: 'МММ д, г ч: мм а'}} выходы: 5 апреля 2016 г. 13:39
Результаты Firefox (аналогично для Safari и IE):
console.log(purchaseDate)
>> Invalid Date
Этот HTML-код в представлении Angular: {{$scope.purchaseDate | date:'MMM d, y h:mm a'}} выходы: null
Я пробовал форматировать дату с помощью moment.js перед отправкой в браузер (как это предлагается в ответах на аналогичные вопросы), но результаты не намного лучше:
Результаты Chrome:
console.log(moment(purchaseDate).format())
>> 2016-04-05T13:39:46-05:00
Результаты Firefox (аналогично для Safari и IE):
console.log(moment(purchaseDate).format())
>> Invalid Date
Любые идеи? Я хотел бы использовать moment.js, чтобы обеспечить согласованность синтаксического анализа, поскольку я уже использую его в другом месте своего кода.
Date
и на самом деле видите неявное преобразованиеDate
вstring
. Вы уверены, что это именно та строка, которая выходит из API? Посмотрите на необработанный HTTP. - person Matt Johnson-Pint   schedule 06.04.2016purchaseDate
? - person BrunoLM   schedule 06.04.2016