2016-06-22 37 views
2

我有以下格式的JavaScript字符串:javascript日期字符串角NG-瞬間變

2016-06-22T14:47:29.689358 

我將如何使用ng-moment字符串解析爲一個時刻對象,然後將其格式化我的觀點裏?

https://github.com/urish/angular-moment

僞代碼:

$scope.time = "2016-06-22T14:47:29.689358"; 
<span am-time-ago="time | amParse:'YYYY.MM.DD HH:mm:ss'"></span> 

好像需要它傳遞給ng-moment之前被轉換成一個Date對象的時間。

+0

日期字符串'2016-06-22T14:47:29.689358'從哪裏來? – adolfosrs

+0

@adolfosrs從.net web api調用,作爲json返回並放入一個angularjs對象。 – TWilly

回答

1

您根本不需要日期,事實上,您不應該使用日期對象的解析器,因爲它的行爲是奇怪的。您只有指定的日期格式錯誤。

<span am-time-ago="time | amParse:'YYYY-MM-DDTHH:mm:ss.SSS'"></span> 

這應該是你所需要的。

有關日期解析不可靠的更多信息,可以看到this question

+0

經覈實,謝謝! – TWilly

1

展望documentation你可以

amFromUnix過濾去:(1/1/1970以來秒)UNIX時間戳轉換爲時刻的對象。例如:

<span am-time-ago="message.unixTime | amFromUnix"> 

要從日期字符串得到unixTime只是下面去:

var unixTime = new Date("2016-06-22T14:47:29.689358").getTime(); 
+0

所以我必須在我的控制器中進行預處理,然後才能使用時刻爲我設置日期格式,對嗎?有沒有辦法繞過預處理? – TWilly

+0

@Tilly你是什麼意思的預處理?在你的情況下,你只需''scope.time = new Date(「2016-06-22T14:47:29.689358」)。getTime()' – adolfosrs

+0

@Tilly是的,你需要創建一個日期對象。 – adolfosrs

1

看起來像從它只是想了一會兒對象。

$scope.time = moment("2016-06-22T14:47:29.689358"); 
相關問題