1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[短文]JavaScriptのDateって、マイナスの値を引数に与えてもいいのかな?

Last updated at Posted at 2017-04-29

これを見て。
http://qiita.com/QUENCH/items/3be4de21eeb5fdbf7fe8
最終週の金曜日を求めたかったら、
翌月から逆算したら、4週目か5週目か考える必要ないんちゃうん?って思って、やってみたら、

function get_premium_friday(year, month) {
  return new Date(year, month+1, -((new Date(year, month+1, 0)).getDay()+2) % 7);
}

で、Firefoxでは動いた。
2017年5月0日は、2017年4月30日を指し、2017年5月-2日が2017年4月のプレミアムフライデーなわけである。

これが、Firefoxの独自仕様なのか、JavaScriptの仕様なのかは、MDNからは読み取れなかったが、
ECMAScript 5.1を見る感じだと、日付のパラメータは、ToNumberされた後、MakeDayに渡され、とたらい回しを受けつつも、マイナスになっても動きそうな感じにはなっている。
きっと、日付をマイナスにする書き方は、許されているのだろう。

1
2
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?