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?

6voto

Adam Punkte 3711

Alternative #6233....

Addieren Sie den UTC-Offset zur Ortszeit und konvertieren Sie sie dann in das gewünschte Format mit dem Befehl toLocaleDateString() Methode der Date Objekt:

// Using the current date/time
let now_local = new Date();
let now_utc = new Date();

// Adding the UTC offset to create the UTC date/time
now_utc.setMinutes(now_utc.getMinutes() + now_utc.getTimezoneOffset())

// Specify the format you want
let date_format = {};
date_format.year = 'numeric';
date_format.month = 'numeric';
date_format.day = '2-digit';
date_format.hour = 'numeric';
date_format.minute = 'numeric';
date_format.second = 'numeric';

// Printing the date/time in UTC then local format
console.log('Date in UTC: ', now_utc.toLocaleDateString('us-EN', date_format));
console.log('Date in LOC: ', now_local.toLocaleDateString('us-EN', date_format));

Ich erstelle ein Datumsobjekt, das standardmäßig auf die Ortszeit eingestellt ist. Ich füge den UTC-Offset hinzu. Ich erstelle ein Objekt zur Datumsformatierung. Ich zeige das UTC-Datum/die UTC-Zeit im gewünschten Format an:

enter image description here

4voto

gest Punkte 379
new Date(2015,1,3,15,30).toLocaleString()

//=> 2015-02-03 15:30:00

3voto

Wahsei Punkte 259

Um Ihre Zeitzone zu reflektieren, können Sie Folgendes verwenden

var datetime = new Date();
var dateString = new Date(
  datetime.getTime() - datetime.getTimezoneOffset() * 60000
);
var curr_time = dateString.toISOString().replace("T", " ").substr(0, 19);
console.log(curr_time);

3voto

Dan Punkte 1097

Hier ist ein praktischer Vanille-Einzeiler (übernommen aus diese ):

var timestamp = 
  new Date((dt = new Date()).getTime() - dt.getTimezoneOffset() * 60000)
  .toISOString()
  .replace(/(.*)T(.*)\..*/,'$1 $2')
console.log(timestamp)

Salida: 2022-02-11 11:57:39

1voto

Abdennour TOUMI Punkte 75271

使用する x-date Modul, das zu den Untermodulen von x-Klasse Bibliothek ;

require('x-date') ; 
  //---
 new Date().format('yyyy-mm-dd HH:MM:ss')
  //'2016-07-17 18:12:37'
 new Date().format('ddd , yyyy-mm-dd HH:MM:ss')
  // 'Sun , 2016-07-17 18:12:51'
 new Date().format('dddd , yyyy-mm-dd HH:MM:ss')
 //'Sunday , 2016-07-17 18:12:58'
 new Date().format('dddd ddSS of mmm , yy')
  // 'Sunday 17thth +0300f Jul , 16'
 new Date().format('dddd ddS  mmm , yy')
 //'Sunday 17th  Jul , 16'

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