サマータイム調整時の日付差(シフト計算に使用する関数)の計算方法を教えてください。
P粉919464207
P粉919464207 2023-09-16 00:03:57
0
1
467

指定された日にどのシフトが働いているかを判断する次の関数があります。

リーリー

これは次のように呼ばれます:

リーリー

夏時間をまたがらない 2 つの日付を使用すると、正常に動作するようです。たとえば、3/14/2023 と 6/22/23 は 1 (正しい) を返します。ただし、2023 年 3 月 10 日と 23 年 6 月 22 日のように、夏時間が発生する日にまたがる場合は、4 が返されます。これは間違ったシフトです。

夏時間を気にせずに動作させるにはどうすればよいですか?

P粉919464207
P粉919464207

全員に返信(1)
P粉323224129

これは、計算が「日数」ではなく 1 日の秒数に基づいているためです。すべてではありませんが、ほとんどのタイムゾーンで、時間がわずかにずれるため、境界線を越えてコンバージョン数が変化することは間違いありません。また、@aaronfc のタイムゾーンがこのように機能しないか、デフォルトのタイムゾーンが UTC またはその他の静的オフセットに設定されている可能性もあります。

DateTime ライブラリは確実に計算できます:

リーリー

出力:

リーリー

また、関数が任意の文字列をデコードする方法を知る必要がないように、explode(',', $sequence) を関数の外に移動することをお勧めします。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!