JavaScriptで前年の1月1日と12月31日を文字列で使いたかった
JavaScriptで前年の1月1日と12月31日を文字列で使いたかった:
JavaScriptで日付を扱う場合には
ただ
でもなぜ1900年が基準なんだろう…。
var start = (today.getYear() - 1 + 1900).toString() + '-01-01'; // 前年の1月1日 e.g. 2017-01-01 var end = (today.getYear() - 1 + 1900).toString()+ '-12-31'; // 前年の12月31日 e.g. 2017-12-31 console.log(start); // 2017-01-01 console.log(end); // 2017-12-31
Date
を使う。ただ
Date
のgetYear()
は1900年からの差分を戻してくるため、足してやる必要がある。For years greater than or equal to 2000, the value returned by getYear() is 100 or greater. For example, if the year is 2026, getYear() returns 126.ちなみに1900年以前、例えば
For years between and including 1900 and 1999, the value returned by getYear() is between 0 and 99. For example, if the year is 1976, getYear() returns 76.
For years less than 1900, the value returned by getYear() is less than 0. For example, if the year is 1800, getYear() returns -100.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear
1800年
とかだと-100
が戻るらしい。なるほど。でもなぜ1900年が基準なんだろう…。
コメント
コメントを投稿