「現在日付の2日後より前かどうか調べる関数」を作成します。
要件:
・OSのタイムゾーンに関わらずJSTで計算されるようにしたい!
⇒UTCの時刻を取得して+9することで、どこの国の時間で実行しても常にJSTで計算されるようになります。
//現在日付の2日後より前かどうか調べる関数
const isDateWithinTwoDays = (date) => {
//現在日付の取得
var now = new Date()
// 現在日付から2日後
const twoDaysLater = new Date(
now.getUTCFullYear(),
now.getUTCMonth(),
now.getUTCDate() + 2,
now.getUTCHours() + 9
)
const inputDate = new Date(date)
const numTwoDaysLater =
twoDaysLater.getFullYear() * 10000 + twoDaysLater.getMonth() * 100 + twoDaysLater.getDate()
const numInputDate = inputDate.getFullYear() * 10000 + inputDate.getMonth() * 100 + inputDate.getDate()
if (numInputDate < numTwoDaysLater) {
return true
} else {
return false
}
}
上記のようにすることで、例えば、2023年12月31日
と2024年1月1日
の比較が
20231231
と20240101
のような数値に置き換えられて比較されます。