2017-05-16 133 views
-1

我的日期格式爲'2017-05-16T13:22:01.207Z',並試圖轉換爲'05/16/17 08:22 AM'。我已經嘗試了以下,並沒有一個在IE中爲我工作,在Chrome中工作正常。任何想法是什麼原因。有沒有人遇到過這種情況。MomentJs/Angular日期過濾器不工作在IE

Date = '2017-05-16T13:22:01.207Z'; 

MomentJs Solution: 

$moment(Date).format('MM-DD-YY HH:mm A').replace(/-/g,"/") 

AngularJs Date Filter: 

{{Date | date: 'short'}} 

預期成果:我在Chrome上看到這一點,但不是在IE

05-16-17 13:22 PM 
+0

不能重現你的問題,你能提供一個小提琴或一個片段? IE版本會給你帶來什麼問題?原生的angularjs日期過濾器適用於我,在這種情況下無需使用任何時刻也不需要替換。 (我不是downtwoter順便說一句) – VincenzoC

+0

我剛剛發現了這個問題,問題是在模板中它應用基於ng-if這個過濾器,這個特定的過濾器永遠不會應用在IE上,因爲NG-IF。謝謝你的時間。 –

回答

1

呵呵,替換可能是我見過有人處理format()功能,這已經是最有趣的方式按照您的意願格式化日期。

使用

var date = '2017-05-16T13:22:01.207Z'; 
 
alert(moment(date).format('MM/DD/YY HH:mm A'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script>

還要注意!

Date已經在js中定義(它是全局的Date對象);所以你最好使用一些不同的名字作爲你的變量 - 比如類似的發音date;但是D/d較低。 (這可能是你的錯誤來自哪裏)

+0

你說得對,我沒有太注意格式化的東西。我在一些沒用的plunkr中試過,可能是我沒有意識到的一些錯字。 –