2013-04-10 11 views
6

Wie bekomme ich die Zeit von der Datumszeichenkette mit JavaScript.Holen Sie sich die Zeit aus einer Datumszeichenkette

Meine Datumszeichen sind in folgenden Weise: 2013-04-08T10: 28: 43Z

Wie die Zeit in Stunden und Minuten-Format teilen. Ich möchte den Aktivitäts in der folgenden Art und Weise zeigen:

xxx 2 Stunden zuvor aktualisiert hat
yyy aktualisiert hat 3min vor

+2

Sie können Blick auf diese Darshan

+0

http://www.w3schools.com/js/js_obj_date.asp - tutorial http://www.w3schools.com/jsref/jsref_obj_date.asp - JavaScript Date Object Referenz – Viliam

+0

mögliche Duplikate von [javascript Date ISO8601] (http://stackoverflow.com/questions/6228302/javascript-date-iso8601) –

Antwort

1

Einfache Javascript ist mehr als genug: Date.parse Ihre Zeichenfolge Zeitstempel konvertieren:

var date_string = '2013-04-08T10:28:43Z'; 

var your_date_object = new Date(); 
your_date_object.setTime(Date.parse(date_string)); 

var min = your_date_object.getUTCMinutes(); 
var hour = your_date_object.getUTCHours(); 
+0

, aber das Datum ist in ISO-String-Format – vishnu

10

Nur neues Date-Objekt erstellen:

var myDate = new Date("2013-04-08T10:28:43Z"); 

var minutes = myDate.getMinutes(); 
var hours = myDate.getHours(); 
+2

Warum wird dies downvoted? JavaScript unterstützt standardmäßig das ISO 8601-Format. –

+0

@Jack DANKE! Endlich ist jemand vernünftig. – Stasel

+0

Ja, das stimmt genau. auch var seconds = myDate.getSeconds(); – pollaris

1

Extrahieren Sie ein Datum von Ihrem DatumSt Ring

Erster Extrakt die Zahlen mit

var sp = dateString.match(/\d+/g) 

Dann können Sie ein Date-Objekt bauen oder diesen Schritt überspringen

var dateObject = new Date(+sp[0], +sp[1]-1, +sp[2], +sp[3], +sp[4], +sp[5]) 

Und rufen getHours und getMinutes auf dieses Date-Objekt.

Wenn Sie dies überspringen, erhalten Sie direkt +sp[3] für Stunden und +sp[4] für Minuten.

var timeDifference = new Date(new Date - dateObject); 

Und dann rufen getHours und getMinutes auf timeDifference:


Berechne die Differenz

Da Sie scheinen jetzt zu vergleichen, werden Sie Zeitdifferenz auf diese Weise erhalten.

-1
var curr_date = new Date(); 
var test_date = new Date("2016-01-08 10:55:43"); 

hours_diff=Math.abs(test_date.getHours()-curr_date.getHours()); 
minutes_diff=Math.abs(test_date.getHours()*60+test_date.getMinutes()-curr_date.getHours()*60-curr_date.getMinutes()); 
console.log("xxx has updated "+hours_diff+" hours ago"); 
console.log("xxx has updated "+minutes_diff+" minutes ago"); //not so beautiful 

///STILL IF THE date is a string and !!NOT CREATED with DATE 
/// "Get the time from a date string" might have this solution 

var date = "2016-01-08 10:55:43"; 
var hours = date.slice(-8); 

console.log("hours and minutes string is "+hours); 

fiddle test

Verwandte Themen