355 Stimmen

Wie formatiert man ein UTC-Datum als `YYYY-MM-DD hh:mm:ss` String mit NodeJS?

Mit NodeJS möchte ich eine Date in das folgende String-Format umzuwandeln:

var ts_hms = new Date(UTC);
ts_hms.format("%Y-%m-%d %H:%M:%S");

Wie kann ich das tun?

17voto

Mtl Dev Punkte 1534

Leicht lesbare und anpassbare Methode, um einen Zeitstempel in Ihrem gewünschten Format zu erhalten, ohne Verwendung einer Bibliothek:

function timestamp(){
  function pad(n) {return n<10 ? "0"+n : n}
  d=new Date()
  dash="-"
  colon=":"
  return d.getFullYear()+dash+
  pad(d.getMonth()+1)+dash+
  pad(d.getDate())+" "+
  pad(d.getHours())+colon+
  pad(d.getMinutes())+colon+
  pad(d.getSeconds())
}

(Wenn Sie die Zeit im UTC-Format benötigen, ändern Sie einfach die Funktionsaufrufe. Zum Beispiel wird "getMonth" zu "getUTCMonth")

13voto

David Miró Punkte 2488

Die Javascript-Bibliothek sugar.js ( http://sugarjs.com/ ) verfügt über Funktionen zur Datumsformatierung

Ejemplo:

Date.create().format('{dd}/{MM}/{yyyy} {hh}:{mm}:{ss}.{fff}')

9voto

Tính Ngô Quang Punkte 3750

Ich verwende Datumsformat bei Nodejs und angularjs, also gut

installieren

$ npm install dateformat
$ dateformat --help

Demo

var dateFormat = require('dateformat');
var now = new Date();

// Basic usage
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
// Saturday, June 9th, 2007, 5:46:21 PM

// You can use one of several named masks
dateFormat(now, "isoDateTime");
// 2007-06-09T17:46:21

// ...Or add your own
dateFormat.masks.hammerTime = 'HH:MM! "Can\'t touch this!"';
dateFormat(now, "hammerTime");
// 17:46! Can't touch this!

// You can also provide the date as a string
dateFormat("Jun 9 2007", "fullDate");
// Saturday, June 9, 2007
...

8voto

jpmonette Punkte 908

Verwenden Sie die im Date-Objekt bereitgestellte Methode wie folgt:

var ts_hms = new Date();

console.log(
    ts_hms.getFullYear() + '-' + 
    ("0" + (ts_hms.getMonth() + 1)).slice(-2) + '-' + 
    ("0" + (ts_hms.getDate())).slice(-2) + ' ' +
    ("0" + ts_hms.getHours()).slice(-2) + ':' +
    ("0" + ts_hms.getMinutes()).slice(-2) + ':' +
    ("0" + ts_hms.getSeconds()).slice(-2));

Es sieht wirklich schmutzig, aber es sollte gut funktionieren mit JavaScript Kern Methoden

7voto

jazeb007 Punkte 530

Die einfachste Methode zur Datumsformatierung ist die Verwendung der moment lib. https://momentjs.com/

const moment = require('moment')
const current = moment().utc().format('Y-M-D H:M:S')

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X