JavaScriptで時間表示時、桁を揃えたい(フォーマット)

css/コーディング

phpで処理を書いていて、

2020-11-05 01:00:00

のような書式で作っていたのでJS側でも揃えようと思ったら、JSではPHPのように簡単にはいかなかったのでメモ。

var t = new Date(myDate); //書式を整えたい日時をタイムスタンプで取得

var YYYY = t.getFullYear(); //年を取得
var MM = t.getMonth()+1; //月を取得
var DD = ("0"+t.getDate()).slice(-2); //日を取得
var hh = ("0"+t.getHours()).slice(-2); //時間を取得
var mm = ("0"+t.getMinutes()).slice(-2); //分を取得
var ss = ("0"+t.getSeconds()).slice(-2); //秒を取得

var time = YYYY + "-" + MM + "-" + DD +" "+ hh +":"+ mm +":"+ ss; //2020-11-05 01:00:00 こんな書式になる

(“0″+t.getDate()).slice(-2); の部分が桁を揃える処理を書いている部分ですが、 とりあえず 0 を足しておいて、もし元から11日などの2桁日なら slice(-2) で余計な0は切り取られるけど、 8日などの1桁日の場合は切り取るべき(-2)は存在せず、08が残る、という処理内容です。

参考サイト様  JavaScriptで日付や時間の0詰めを実装する

ありがとうございました!

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