JavaScriptで月日を取得する場合、通常以下のとおりgetMonth関数、getDay関数を使うと思う。

var now = new Date();

var month = now.getMonth()+1;
var day = now.getDate();

ただ、この場合取得される値は以下のとおり一桁の数字となる。

console.log(month);
console.log(day);

// 現在日時が4/1の場合
// 4
// 1

今回はここで取得した値を2桁(04、01)にフォーマットする方法を紹介する。

slice関数を使う

先ほどのコードを以下に修正する。

var now = new Date();

var month = ("0" + (now.getMonth()+1)).slice(-2)
var day = ("0" + now.getDate()).slice(-2)

取得した月日の先頭に0を付与し、slice関数で後ろから2文字を取得している。

例えば取得した月が12だった場合、まず0を付与し012に変換してから後ろの2文字(12)を取得する。
月が4だった場合は、4 -> 04として後ろ2文字(04)を取得するので、一桁月でも2桁にフォーマットした形で取得できるというわけだ。