PHP での時間操作: H:i から 30 分の加算と減算
PHP では、時間関連のタスクを処理することがさまざまな用途で重要です。アプリケーション。一般的なシナリオの 1 つは、「H:i」としてフォーマットされた時間値を変更することです。この形式は、「10:00」や「13:30」など、時間を時と分で表します。
このような値に特定の時間間隔を加算または減算するには、strtotime() および date( ) 機能。ただし、初期時刻値がタイムスタンプとして適切にフォーマットされていない場合、予期しない動作が発生する可能性があります。
2 つの新しい値を作成する例を考えてみましょう: $startTime $time 30 分前と $endTime 30 $time の数分後。$time の形式は「H:i」です。
以下のコード スニペットは、最初は次のように見えるかもしれません。合理的:
$startTime = date("H:i",strtotime('-30 minutes',$time));
$endTime = date("H:i",strtotime(' 30 minutes',$time));
ただし、$time として "10:00" を渡すと、予期しない結果が発生します。$startTime は次のようになります。意図した「09:30」ではなく「00:30」になり、$endTime は「10:30」ではなく「01:30」になります。
重要な問題は次のとおりです。初期の仮定では、$time はタイムスタンプです。ただし、これは単に「H:i」としてフォーマットされた文字列です。これを解決するには、まず strtotime() 関数を使用して $time をタイムスタンプに変換する必要があります。
修正されたコード:
$time = strtotime('10:00');
$startTime = date("H:i", strtotime('-30 minutes', $time));
$endTime = date("H:i", strtotime(' 30 minutes', $time));
これで、結果は予想と一致しました。$startTime は "09:30" になり、$endTime になります。 「10:30」となります。最初から $time がタイムスタンプであることを保証することで、PHP で正確な時刻操作を実行できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3