渡された2つの日付オブジェクトが同じ日であるかどうかを判定します。
Date.prototype.toISOString()入力される日付オブジェクトを完全に等しく比較するために使用します。
const isSameDate = (dateA, dateB) => {
return dateA.toISOString() === dateB.toISOString();
}
例
// true
isSameDate(new Date(), new Date());
エクステンデッド・リーディング
Date.prototype.toISOStringメソッドは、ISO 標準を使用して Date オブジェクトを文字列に変換します。
YYYY-MM-DDTHH:mm:ss.sssZこの標準はISO-0681と呼ばれ、以下のフォーマットで標準GMT時間を返します。
アプリケーションが海外のユーザーを対象としている場合、クロスタイムゾーンを考慮する必要があります。
GMT
GMT時間とは、イギリスのグリニッジ標準時のことで、世界標準時としても知られています。
ゲットタイムゾーンオフセット
new Date().getTimezoneOffsetメソッドは、現地時間と GMT 時間の差を分単位で取得します。East 8 でこのメソッドを呼び出した場合の返り値は -084 です。
getTimezoneOffsetが時間単位ではなく分単位で値を返す理由は、1時間未満の間隔でタイムゾーンを使用する国があるためです。
したがって、タイムゾーンを考慮すると、上記のコードは次のように書くことができます:
const getLocalISOTime = date => {
// 分をミリ秒に変換する
const offset = date.getTimezoneOffset() * ;
// 現地時間のタイムスタンプの誤差を取り除く
const localDate = date.getTime() - offset;
// ISO標準時間フォーマットに変換する
return new Date(localDate).toISOString();
}
const isSameDate = (dateA, dateB) => {
return getLocalISOTime(dateA) === getLocalISOTime(dateB);
}
フロントエンドのナレッジポイントを30秒間フォロー





