1. ホーム
  2. ジャバスクリプト

[解決済み】Javascriptで日付に先頭のゼロを追加する。

2022-03-23 20:15:39

質問

10日前の日付をdd/mm/yyyyのフォーマットで計算するスクリプトを作りました。

var MyDate = new Date();
var MyDateString = new Date();
MyDate.setDate(MyDate.getDate()+10);
MyDateString = MyDate.getDate() + '/' + (MyDate.getMonth()+1) + '/' + MyDate.getFullYear();

スクリプトにこれらのルールを追加することによって、dayとmonthのコンポーネントの先頭に0を付けて日付を表示させる必要があります。どうにもうまくいきません。

if (MyDate.getMonth < 10)getMonth = '0' + getMonth;

そして

if (MyDate.getDate <10)get.Date = '0' + getDate;

どなたか、スクリプトにこれらを挿入する場所を教えていただけると、本当にありがたいのですが。

どのように解決するのですか?

これを試してみてください。 http://jsfiddle.net/xA5B7/

var MyDate = new Date();
var MyDateString;

MyDate.setDate(MyDate.getDate() + 20);

MyDateString = ('0' + MyDate.getDate()).slice(-2) + '/'
             + ('0' + (MyDate.getMonth()+1)).slice(-2) + '/'
             + MyDate.getFullYear();


EDITです。

説明すると .slice(-2) では 最後 の2文字が含まれる。

だから、何があっても "0" を日や月に置き換えて、最後の2つだけが必要なのです。

そこで、もし MyDate.getMonth() が返す 9 となる。

("0" + "9") // Giving us "09"

ということで .slice(-2) ということで、最後の2文字になります。

("0" + "9").slice(-2)
"09"

しかし、もし MyDate.getMonth()10 となる。

("0" + "10") // Giving us "010"

ということで .slice(-2) は最後の2文字を与えてくれます、つまり

("0" + "10").slice(-2)
"10"