LoginSignup
2
2

More than 5 years have passed since last update.

今日がプレミアムフライデーの週なのか調べる

Posted at

プレミアムフライデーのお知らせを出したい

そんな依頼が舞い込んできて、久しぶりにJSを触りました。

プレミアムフライデーの週、月〜金まで1週間表示させたい


ということだったので、その月のプレミアムフライデーの日付を取得するget_premium_friday()を参考(丸パクリ)にさせて頂き、月〜金を判定するようにしました。

 

わんぽいんと


getDate()では、時間まで取得されて比較されてしまうので、一度日付だけにして判定をしています。
if文がプレミアムでない日を判定していますので、間違えないようにしてください。

premium_week.js

var today   = new Date();
var year    = today.getFullYear();
var month   = today.getMonth();
var date    = today.getDate();

var premium_friday = get_premium_friday(year,month).getDate();

if (date < (premium_friday - 4) || premium_friday < date ) {
    //※※※※※※※※※プレミアムではない処理を書く※※※※※※※※※※※※
    alert("not remium week...");
} else {
    //※※※※※※※※※プレミアムな処理を書く※※※※※※※※※※※※
    alert("PREMIUM WEEK!!!");
}



function get_premium_friday(year,month) {
    var date            = new Date(year, month, 1);
    var weekday         = date.getDay();
    var day_4week       = new Date(year, month, 7*3 + 6 - weekday);
    var day_5week       = new Date(year, month, 7*4 + 6 - weekday);
    var end_of_month    = new Date(year, month + 1, 0);
    return (day_5week > end_of_month ? day_4week : day_5week);
}


2
2
0

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
2
2