2016-07-15 4 views
0

Ich bin auf der Suche nach einer Möglichkeit, nur Minuten von einem Datum in Zeichenfolge (aus toISOString) zu erhalten.Javascript - erhalten Minuten nur von Iso-Datum Zeitformat

Bei der Verwendung von Date-Objekt habe ich getTime() verwendet, aber denke nicht, dass es eine direkte Methode für das ISO-Format gibt.

Müsste ich Strings direkt aus dem ISO-Format extrahieren, da es nur eine Zeichenfolge ist?

Code:

var depTime = new Date(1222332000).toISOString(); 

Das gibt mir "1970-01-15T03: 32: 12.000Z", also was einen guten Weg ist nur wenige Minuten zu erhalten, die "32" ist.

+0

new Date ('1222332000') toISOString() ist inavlid –

+0

'console.log (depTime.split (":") [1]);' Schmutzige funktioniert aber genau gleiche Szenario. –

+0

Der angegebene Zeitwert ('1222332000') ist ungültig. Dies wird einen Bereichsfehler auslösen: "VM146: 45Uncught RangeError: Ungültiger Zeitwert" – briosheje

Antwort

2

Sie getMinutes() ab dem Zeitpunkt Objekt verwenden können:

var d = new Date('1970-01-15T03:32:12.000Z'); 
 
console.log(d.getMinutes());

Dies ist die richtige Methode, aber, wenn th ere sind Probleme mit der Zeitzone, können Sie die Zeichenfolge analysieren kann:

var depTime = new Date(1222332000).toISOString(); 
 
console.log(depTime.split(":")[1]); // 32

+0

Das berücksichtigt TimeZone, so dass es' 2' für mich zurückgibt. –

+0

@MohitBhardwaj Wow? Ernst? –

+2

@PraveenKumar einige Zeitzonen sind 30 Minuten aus. Wahrscheinlich wäre "getUTCMinutes()" besser. – Pointy

0

Da es nur eine Zeichenfolge, regex sollte gut funktionieren. .

T\d+:(\d+) 
Verwandte Themen