JavaScriptで月日を2桁表示にする方法
JSで月日を2桁(ゼロ付き)表示するためには
今回はjsで0付きの日付にしたい場合のスニペットを紹介するぞ。
月日の前に必ず0をつけるようにするには
月日の取得方法
月の場合は、getMonth()で取得し、日付の場合はgetDate()で取得する。そして、取得した日付の前に0をつけるようにする。これで、必ず0がつくようになるぞ。
ちなみにgetMonth()の後ろに+1がついているのはgetMonth()の返り値が0-11なので1追加することで当月と合わせている。
//現在の日付を取得
var days = new Date();
//月
var month = ("0"+(days.getMonth() + 1)).slice(-2);
//日
var date = ("0"+days.getDate()).slice(-2);
ゼロをつけた後、日付の文字数をsliceメソッドで調整する
さて、0がつくようにしたが、1桁でも2桁でも必ず0がつくようになったので、このままだと12月31日が012月031日になってしまう。
その調整をするためにsliceメソッドを使うのだ。
//現在の日付を取得
var days = new Date();
//月 後ろから2桁の文字取得することで、1月は01、12月は12月になるようする。
var month = ("0"+(days.getMonth() + 1)).slice(-2);
//日 後ろから2桁の文字取得することで、1日は01、31日は31になるようする。
var date = ("0"+days.getDate()).slice(-2);
sliceメソッドとは
日付を整えるために使用したsliceメソッドについても簡単に説明しておいてやろう。
sliceメソッドは文字列から指定した文字部分を取得するものだ。
let mahou = 'フィンガーフレアボムズ';
let sub;
sub = mahou.slice(5,8);
console.log(sub);
//フレア
sub = mahou.slice(5);
console.log(sub);
//フレアボムズ
sub = mahou.slice(-3);
console.log(sub);
//ボムズ
sliceメソッドの使い方
sliceはslice(開始部分, 終了部分)で使用する。開始部分、終了部分には数字を入れるのだ。
slice(3)のように1つだけ入れると、開始部分を入れたことになる。その場合は開始位置から終わりまで指定したことになる。
slice(-3)のように負の数字を入れると、文字列の後ろから指定をすることになる。
今回のゼロ付きの日付の取得の場合は、後ろから2桁を指定すれば0付きか2桁の月日を指定できるので、slice(-2)となっているのだ。
JSで月日を2桁(ゼロ付き)表示する方法のまとめ
注意すること
・getMonth()の返り値は-1になっている。
・sliceメソッドで桁を調整する。
以上がゼロ付きの月日の表示方法だぞ!
//現在の日付を取得
var days = new Date();
//月 後ろから2桁の文字取得することで、1月は01、12月は12月になるようする。
var month = ("0"+(days.getMonth() + 1)).slice(-2);
//日 後ろから2桁の文字取得することで、1日は01、31日は31になるようする。
var date = ("0"+days.getDate()).slice(-2);