0
我使用Angular.js
格式化现有日期,但它只能在chrome中工作。我在下面解释我的代码。
$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',比照分析[免责声明](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格式格式化日期。然后你可以直接使用这个<$ timestamp |日期:“MM/dd/yyyy hh:mm a”$>。这是在所有的浏览器工作,因为它是angularjs的日期过滤器 – ba1ar
你可以看看[时刻](http://momentjs.com/docs/#/parsing/string-format/)库来解析你的时间戳一个常规的Date对象,你可以用'$ filter'格式化你想要的方式。 – SinDeus