#プレミアムフライデーのお知らせを出したい
そんな依頼が舞い込んできて、久しぶりに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);
}