JavaScriptで今日の日付や現在時刻を取得(コピペ可)

JavaScript

JavaScriptで今日の日付や現在の時刻を取得表示する方法を紹介します。

フォーマットはYYYY-MM-DD HH:MI:SS形式(Y-m-d H:i:s)です。年月日時分秒ミリ秒まで全網羅していてコピペで使えます。

本日の日付時刻を日本時間のYYYY-MM-DD HH:MI:SS形式で出力する

日本時間の一般的なフォーマットで時間を出力します。

/********************************************
* 本日の日付時刻を日本時間で出力する
*********************************************/

process.env.TZ = "Asia/Tokyo"; //日本化された環境ならなくてもOK
var date = new Date();

var YYYY = date.getFullYear(); //年
var MM = ("00" + (date.getMonth()+1)).slice(-2); //月
var DD = ("00" + (date.getDate())).slice(-2); //日
var hh = ("00" + (date.getHours())).slice(-2); //時間
var mm = ("00" + (date.getMinutes())).slice(-2); //分
var ss = ("00" + (date.getSeconds())).slice(-2); //秒
var sss = ("000" + (date.getTime())).slice(-3); //ミリ秒

console.log(YYYY + "-" + MM + "-" + DD + " " + hh + ":" + mm + ":" + ss + "." + sss);

※日本時間9/13の夕刻に実行

出力結果
2023-09-13 16:19:11.539

本日の日付時刻をISO8601形式のUTC時刻で出力

/********************************************
* 本日の日付時刻をISO8601形式のUTC時刻で出力
*********************************************/

var date = new Date();
console.log(date.toISOString());

※日本時間9/13の夕刻に実行

2023-09-13T07:18:45.324Z

本日の日付時刻をISO8601形式の日本時刻で出力

ではちょっとややこしいですがISO形式の日本時間のタイムゾーン付で表示してみます。

/********************************************
* 本日の日付時刻をISO8601形式のタイムゾーン付日本時刻で出力
*********************************************/

process.env.TZ = "Asia/Tokyo"; //日本化された環境ならなくてもOK
var date = new Date();

var YYYY = date.getFullYear(); //年
var MM = ("00" + (date.getMonth()+1)).slice(-2); //月
var DD = ("00" + (date.getDate())).slice(-2); //日
var hh = ("00" + (date.getHours())).slice(-2); //時間
var mm = ("00" + (date.getMinutes())).slice(-2); //分
var ss = ("00" + (date.getSeconds())).slice(-2); //秒
var sss = ("000" + (date.getTime())).slice(-3); //ミリ秒


var tz_os = - date.getTimezoneOffset(); //タイムゾーン時差の分数
var tz_sign = tz_os >= 0 ? '+' : '-'; //+-記号
var tz_hh = ("00" + (tz_os / 60)).slice(-2); //時差時間
var tz_mm = ("00" + (tz_os % 60)).slice(-2); //時差分

console.log(YYYY + "-" + MM + "-" + DD + " " + hh + ":" + mm + ":" + ss + "." + sss + tz_sign + tz_hh + ":" + tz_mm);

※日本時間9/13の夕刻に実行

出力結果
2023-09-13 16:13:48.006+09:00

おまけ

toISOString()のオプションや置換を使って変換していく方法もあり、最近ではそれが紹介されることも多いです。
が、ちょっとした変更や環境の変化で想定外のミスなどバグが起きやすいので推奨はしません。
多少不格好で面倒でもあえて確実な昔ながらの方法を紹介しています。

タイムゾーンについてはよく読みかがわからない場合は、以下の記事で紹介しています。

コメント

タイトルとURLをコピーしました