2016-04-29 6 views
0

Wie formatieren Sie Zeitstempel aus ISO 8601 in UTC in Zeitmarken und gleichen Klassen um und passen Sie sie über JavaScript an Benutzergebietsschema und Zeitzone an?Wie formatieren Sie Zeitstempel aus ISO 8601 in UTC in Zeitmarken und gleichen Klassen um und passen Sie sie über JavaScript an das Gebietsschema und die Zeitzone des Benutzers an?

Ich habe eine HTML-Seite mit einer Tabelle mit mehreren Zeitstempeln im ISO 8601-Format in UTC in HTML-Zeit-Tags und die gleiche Klasse gegeben.

Ich möchte sie in das Benutzergebietsschema Format und Zeitzone korrigiert formatieren.

Ich kam mit dem Code unten. Was muss ich wie in den TODOs in den genannten Kommentaren hinzufügen?

<!--- table with timestamps in ISO 8601 format and UTC ---> 
<table> 
<tr><td>1: </td><td><time class="UTC_ISO_Date">2013-02-07T23:00:00.000Z</time></td></tr> 
<tr><td>2: </td><td><time class="UTC_ISO_Date">2015-06-09T21:30:00.000Z</time></td></tr> 
<tr><td>3: </td><td><time class="UTC_ISO_Date">2016-03-022T09:00:00.000Z</time></td></tr> 
</table> 

// get the timezone of the user out of the browser 
var timezone = jstz.determine(); 
var usertz = timezone.name(); 

// TODO: get the locale of the user out of the browser  
// iterate over classes="UTC_ISO_Date" with each() 
$('.UTC_ISO_Date').each(function(i, obj) {  
    // format the timestamps into the correspondent format of the user locale and adjust to the users timezone 
    var formattedTimestamp = moment(i); 
    // TODO: update the value in the current class 

}); 
+0

fügen Sie bitte ein Beispiel hinzu, was Sie erreichen möchten. –

+0

Verwenden Sie [moment.js] (http://momentjs.com/) für Zeit- und Datumsmanipulationen. –

+0

< Skript src = "https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.3/moment-timezone.js"> Ich habe Moment.js bereits aufgenommen, aber es wird nicht angezeigt. < – Thorsten

Antwort

0

Sie brauchen nicht für dieses Szenario des Benutzers Zeitzone zu kennen. Sie brauchen jsTimeZoneDetect oder Moment-Timezone nicht. Sie können einfach anrufen:

moment('2013-02-07T23:00:00.000Z').format() 

Sie Parameter übergeben können Sie die format Funktion wollen. Details finden Sie in der Moment-Dokumentation.

Auch die meisten modernen Browser werden dies mit dem Objekt Date tun, Sie haben einfach nicht so viel Kontrolle über das Ausgabeformat.

new Date('2013-02-07T23:00:00.000Z').toString()