ValiraJSを書いてて、少し詰まった部分の備忘です。
やりたかったこと
JavaScriptで、2023/01/01 01:01のような形式で時間を取得したい。
問題点
以下の形式で、欲しい値自体は取得可能だったが、
2023/1/1 1:1 の形式になってしまう。
let today = new Date();
let year = today.getFullYear();
let month = today.getMonth() + 1;
let day = today.getDate();
let hours = today.getHours();
let min = today.getMinutes();
let justtime = year + '/' + month + '/' + day + ' ' + hours + ':' + min;
console.log(justtime);
調べた結果
IF文で、値が10以下であれば、0を付与する方法が紹介されたりしていた。
もっと簡単にいけないかなと思い検索したら、
以下記事にsliceメソッドでいける旨が記述されておりました。
先人たちは偉大ですね。
最終形
以下で、2023/01/01 01:01の形式で出力出来ました。
const today = new Date();
const year = today.getFullYear();
const month = ('0' + (today.getMonth() + 1)).slice(-2);
const day = ('0' + today.getDate()).slice(-2);
const hour = ('0' + today.getHours()).slice(-2);
const min = ('0' + today.getMinutes()).slice(-2);
const justtime = year + '/' + month + '/' + day + ' ' + hour + ':' + min;
console.log(justtime);
終わりに
記事を書きながら、再度調べていたら、
この形式は、「ゼロパディング」、「0埋め」って呼称するみたいですね。
「js 日付 フォーマット」とかで検索かけていたので、
全然いい感じのがヒットしませんでしたが、
「js 0埋め」で検索かけたら、欲しかったものがゴロゴロ出てきました。。。
そして、参考記事にも「0埋め」って記述されていましたね。。
やりたいことの名称を、ちゃんと知ることの大切さを学んだ数時間でした。
以上、誰かのお役に立てれば幸いです。