0

カードの有効期限情報が次のように渡されました。

$date = '2014-12-22';
$hour = '19';
$minute = '30';

そして、それぞれが異なるタイムゾーンにあるドアの場所の現在の日付と時刻に基づいてアクセスを許可できるかどうかを判断する必要があります。これをチェックするスクリプトは 1 時間ごとに生成され、アクセス サーバーに配布されます。このスクリプトは、ドアのローカル時間が有効期限の前にあるかどうかを推測する必要があります (全体の設計はかなり複雑で、設計が不十分です)。

次の $door_datetime をカードの有効期限情報 (日付、時間、分) と比較する必要があります。

$door_datetime = new DateTime;
$door_datetime->setTimezone(new DateTimeZone($door_timezone));

追加の問題は、データベース データが積極的にクリーンアップされておらず、$door_datetime と比較するカードの有効期限日、時間、分が数百万あることです。サーバーの速度が低下するため、忙しい時間帯に問題になることは想像できるでしょう。

$door_datetime が $date、$hour、$time の前か後かを効率的に調べる方法についてのアイデアはありますか?

4

1 に答える 1