IT

【JS】日付のフォーマット xxxx年xx月xx日xx時xx分 の実現

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埋め」って記述されていましたね。。

やりたいことの名称を、ちゃんと知ることの大切さを学んだ数時間でした。


以上、誰かのお役に立てれば幸いです。

  • この記事を書いた人

緑川縁

ニートからシステムエンジニアになった人
クラウド案件をメインにやっています。
保持資格:CCNA,AWS SAA&SAP,秘書検定2級
趣味でボカロ曲作り始めました。

-IT
-,