0
Я форматирую существующую дату, используя Angular.js
, но ее единственная работающая в хром. Я объясняю свой код ниже.
$scope.timestamp=2016-12-16 07:58:30 AM
$scope.orginalTime= $filter('date')(new Date($scope.timestamp.replace("-","/")),'dd-MM-yyyy HH:mm:ss a');
Здесь я форматирую дату, но только ее работаю в хромированном состоянии. Мне нужно, чтобы это работало во всех браузерах, включая firefox,safari+MAC
.
Вы проверили, что строка даты из '$ scope.timestamp.replace (...)' правильно разбирается с помощью 'Date', cf. [этот отказ от ответственности] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse#Description)? Protip: предоставленный формат не является синтаксисом RFC2822 и ISO-8601, поэтому я полагаю, что вы полагаетесь на то, что Chrome больше прощает в своем разборе. Рассмотрим разделение даты на части или формат на допустимый формат. – jensgram
Я бы предложил вам отформатировать дату в формате yyyy-MM-ddTHH: mm: ssZ. & then вы можете прямо использовать что-то вроде этого <$ timestamp | date: "MM/dd/yyyy hh: mm a" $>. Это работает во всех браузерах, поскольку это фильтр даты angularjs. – ba1ar
. Вы можете посмотреть библиотеку [moment] (http://momentjs.com/docs/#/parsing/string-format/), чтобы проанализировать вашу метку времени регулярный объект Date, который вы можете впоследствии форматировать так, как вы хотите, с помощью '$ filter'. – SinDeus