Node.jsでUTC日付をYYYY-MM-DD hh:mm:ss形式の文字列に変換する方法
Node.jsでUTC日付をYYYY-MM-DD hh:mm:ss形式の文字列に変換する方法
この解説では、以下の3つの方法を紹介します。
- Dateオブジェクトとテンプレートリテラルを使用する
- moment.jsライブラリを使用する
Dateオブジェクトとテンプレートリテラルを使用して、UTC日付をYYYY-MM-DD hh:mm:ss
形式の文字列に変換することができます。
const date = new Date(Date.UTC(2024, 2, 25, 4, 30, 0));
const formattedDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}:${date.getSeconds().toString().padStart(2, '0')}`;
console.log(formattedDate); // 2024-03-25 04:30:00
この方法では、以下の点に注意する必要があります。
Date.UTC()
を使用して、UTC日付を作成する必要があります。- 月は0から始まるため、1を加算する必要があります。
- 月、日、時、分、秒は1桁の場合は0でパディングする必要があります。
const moment = require('moment');
const date = moment.utc('2024-03-25T04:30:00Z');
const formattedDate = date.format('YYYY-MM-DD hh:mm:ss');
console.log(formattedDate); // 2024-03-25 04:30:00
この方法では、moment.js
ライブラリをインストールする必要があります。
const { format } = require('date-fns');
const date = new Date(Date.UTC(2024, 2, 25, 4, 30, 0));
const formattedDate = format(date, 'yyyy-MM-dd HH:mm:ss');
console.log(formattedDate); // 2024-03-25 04:30:00
Node.jsでUTC日付をYYYY-MM-DD hh:mm:ss
形式の文字列に変換するには、いくつかの方法があります。
どの方法を使用するかは、開発者の好みやプロジェクトの要件によって異なります。
const date = new Date(Date.UTC(2024, 2, 25, 4, 30, 0));
const formattedDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}:${date.getSeconds().toString().padStart(2, '0')}`;
console.log(formattedDate); // 2024-03-25 04:30:00
const moment = require('moment');
const date = moment.utc('2024-03-25T04:30:00Z');
const formattedDate = date.format('YYYY-MM-DD hh:mm:ss');
console.log(formattedDate); // 2024-03-25 04:30:00
const { format } = require('date-fns');
const date = new Date(Date.UTC(2024, 2, 25, 4, 30, 0));
const formattedDate = format(date, 'yyyy-MM-dd HH:mm:ss');
console.log(formattedDate); // 2024-03-25 04:30:00
Node.jsでUTC日付をYYYY-MM-DD hh:mm:ss形式の文字列に変換する他の方法
toLocaleDateString()
とtoLocaleTimeString()
を使用して、UTC日付をYYYY-MM-DD
形式とhh:mm:ss
形式の2つの文字列に変換し、それらを連結することで、YYYY-MM-DD hh:mm:ss
形式の文字列を取得することができます。
const date = new Date(Date.UTC(2024, 2, 25, 4, 30, 0));
const formattedDate = `${date.toLocaleDateString('en-US')} ${date.toLocaleTimeString('en-US')}`;
console.log(formattedDate); // 2024-03-25 04:30:00
この方法では、ロケールを指定することで、出力される文字列の言語やフォーマットをカスタマイズすることができます。
自作の関数を使用する
function formatDate(date) {
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
const hours = date.getHours().toString().padStart(2, '0');
const minutes = date.getMinutes().toString().padStart(2, '0');
const seconds = date.getSeconds().toString().padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
const date = new Date(Date.UTC(2024, 2, 25, 4, 30, 0));
const formattedDate = formatDate(date);
console.log(formattedDate); // 2024-03-25 04:30:00
javascript node.js date