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