2016-09-15 85 views
1

我試圖格式化的日期時間,我從DB以下列格式讀取:Angular2 - 問題與日期管

15/09/2016 20:45

然而使用Angular2提供的默認date管,我得到以下(當我真正的設備上運行然而,在瀏覽器,它顯示了正確的格式:

15/09/2016,20:8:45 PM

下面是我格式化的HTML端:

{{ order.time | date:"dd/MM/y, HH:mm" }} 

任何想法上有什麼不對?

+0

當你取日期,你得到它的字符串類型或日期類型? – micronyks

+0

@micronyks日期類型 –

+0

@micronyks日期類型是什麼意思?在JSON中,它只能以字符串格式正確? –

回答

0

有很多方法可以做到這一點。您必須確保您提取的日期必須是日期格式。如果是這樣,它將與日期管道正常工作。如果不是,則必須確保將其轉換爲日期,如下所示。 (這可以幫助你明白我的意思)

工作演示:https://plnkr.co/edit/aaFu5G759ghUQvk1a9Zw

import { Component } from '@angular/core'; 
import { DomSanitizer, SafeResourceUrl, SafeUrl } from '@angular/platform-browser'; 
@Component({ 
    selector: 'my-app', 
    template: `  
    {{date|date:"dd/MM/y, HH:mm"}} //<----- here make sure date variable has proper date(type) 
    ` 
}) 
export class AppComponent { 

    date=new Date(2016,08,5,20,45); 

    //<---- date variable gets proper date(type) 
    //<---- also note month starts with zero(0) so for sep month (08) is taken. 
} 
+0

你的答案的問題是,在控制器級別,我沒有'date'變量,因爲它是在視圖級別上用ngFor生成的。此外,從數據庫接收日期對象的格式如下:'2016-09-15T19:45:00.000Z' –

+0

這很好。我只是給你一些提示。無論你有什麼,你只需要確保你在最後處理日期類型。然後n就會按你想要的方式工作。 – micronyks

+0

我無法使它工作,特別是因爲從DB接收的格式是'2016-09-15T19:45:00.000Z' –