2016-11-17 65 views
1

我格式化傳入的日期2016-11-10T21:59:53.000+0000有幫助的時刻爲JS:解析格式化的日期與時刻JS

myService.getDate(id) 
     .then(function (data) { 
      data.occuredDate = moment.utc(new Date(data.occuredDate)).format('DD MMM YYYY h:mm a'); 
     }; 

輸出結果是這樣的:10 Nov 2016 10:00 pm

現在我試圖解析這個日期再字符串,但不幸的是我的嘗試是不成功的

console.log(new Date(obj.occuredDate)) 
    console.log(new Date(obj.occuredDate).toString()) 
    console.log(Date.parse(obj.occuredDate)) 
    console.log(new Date(Date.parse(obj.occuredDate))) 
    console.log(new Date(Date.parse(obj.occuredDate)).toString()) 

    Invalid Date 
    Invalid Date 
    NaN 
    Invalid Date 
    Invalid Date 

有人能解釋我什麼我做錯了嗎?

在此先感謝。

+0

你可以發佈'data.occuredDate'的初始值嗎? – Hackerman

+0

@Hackerman請檢查更新後的帖子 – antonyboom

+1

https://jsfiddle.net/ko86461s/ – Hackerman

回答

3

在解析非標準格式時,只需指定格式即可。然後用片刻的toDate()方法得到一個簡單的JS Date對象:

moment.utc(obj.occuredDate, 'DD MMM YYYY h:mm a').toDate(); 

SIDENODE

使用moment.utc(new Date(data.occuredDate))沒有真正意義。只是解析字符串。

+1

哦,它的幫助,非常感謝! – antonyboom