2017-04-23 6 views
1

ich NodeJS bin mit einem Datum von einem Server zu holen, aber das Datumsformat ist yyyymmddThhmmss.SSSZConvert yyyymmddThhmmss.SSSZ Format Unix TIMESTMP

20170423T203146.000Z 

Ich versuche, dieses Datum Zeichenfolge in Epoche zu konvertieren Zeit, um einfach einen Unterschied zwischen dieser Zeit und der aktuellen Zeit zu berechnen. (Die Zeitzone wird immer UTC sein)

Ich konnte jedoch keine Möglichkeit finden, diese Zeichenfolge zu analysieren, da Bibliotheken diese Art von Datumszeichenfolge anscheinend nicht akzeptieren.

Kann mir jemand dabei helfen?

Antwort

1

Moment.js scheint mir analysiert Datum korrigieren zu geben

var moment = require('moment') 

var date = moment("20170423T203146.052Z" , "YYYYMMDDThhmmss.SSS") 
console.log(date.format("YYYY MM DD hh mm ss SSS")) 

Ausgang: 2017 04 23 08 31 46 052

+0

Danke, das war was ich suchte. Das Konvertieren in einen UNIX-Zeitstempel war einfach –

1

Sie bei Moment.js String+Format + Special Format

einen Blick Es sollte sehr gut auf Ihre Zeit-String bereits zu funktionieren scheint:

const moment = require("moment"); 

const werner = "20170423T203146.000Z"; 
console.log(moment.utc(werner).format()); 

const epochSec = moment.utc(werner).unix(); 
const epochMs = moment.utc(werner).valueOf(); 

console.log(epochSec, epochMs); 

Vi el Erfolg;)