2016-04-13 19 views
0

von Server I Datum im UTC-Format erhalten wieDate.UTC() bekommt Wert null

2016-04-13T02:37:13.211316121-04:00 

Wenn ich diese new Date(data.Created_at) ich Unterschied bekommen 7 min Zeit mit angezeigt werden soll. So wie ich mein Datum im Format {{my_date | Datum: 'h: mm a'}}, nicht gezeigt 12:05 PM, es displays 11:58 AM. Also habe ich versucht diese,

data.Created_at = new Date(Date.UTC(data.Created_at)) 

die null Wert zurückgibt. Gibt es ein Problem in meinem Code? Wie soll ich das perfekte Date bekommen?

Antwort

0

es wie dieses

Date.UTC(year,month,day,hours,minutes,seconds,millisec)

0

Verwendung Der Code, den Sie verwenden, sind ungültig Weg ist Datum zu handhaben. Sie können diesen Code

new Date('2016-04-13T02:37:13.211316121-04:00').toISOString(); 
0
var created_at = new Date(createdAt); 

var created_at_date = (created_at.getUTCMonth()+1) + "/" + created_at.getUTCDate() + "/" + created_at.getUTCFullYear() + "/" + created_at.getHours() + ":" 
+ created_at.getMinutes() + ":" + created_at.getSeconds(); 

Hoffnung verwenden, um dies für Sie arbeiten !!!

+0

Kein Problem über Datum .. Ich brauche genaue Zeit. – Priyanka

+0

Ich habe die Antwort bearbeitet ... –

0

Wenn Sie Syntax von Date.UTC überprüfen,

Date.UTC (Jahr, Monat [, Tag [, Stunde [, Minute [, zweite [, Millisekunde]]]]])

Es erwartet Wert in verschiedenen Variablen und nicht in Datumszeichenfolge. Sie können es teilen und manuell analysieren.

Sie können so etwas wie dies versuchen:

JSFiddle

var d = "2016-04-13T02:37:13.211316121-04:00"; 
var date_arr = d.split(/[-|T|\.|:]/); 
var o = new Date(Date.UTC(date_arr[0], date_arr[1], date_arr[2], date_arr[3], date_arr[4], date_arr[5])); 
console.log(date_arr, o); 

Auch gibt es mir 8:07 AM, die Zeit bedenkt, ist 2:37 und meine Zeitzone ist +5:30.

+0

Ich habe es mit Ihrem Code versucht. Ich habe '2016-04-13T04: 44: 56.438972462-04: 00' dieses Mal jetzt ... wo meine aktuelle Zeit ist 02.22 Uhr .. wo Ihr Code mich zurückgibt 10:14 – Priyanka

+0

Ich denke, wir müssen darüber nachdenken das '-4: 00' Teil auch .. – Priyanka

+0

Das ist, weil, wie ich erwähnt habe, wird es Datum basierend auf lokaler Zeitzone erstellen. Warum erwarten Sie ein UTC-Datum mit der Zeit "2: 37", um "11: 58" zu zeigen, wenn Ihre Zeitzone irgendwo in der Nähe von "5: 30" liegt? – Rajesh