PHP で日付に「x」時間数を追加するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-04 10:26:01
オリジナル
636 人が閲覧しました

How to Add 'x' Number of Hours to a Date in PHP?

日付に「x」時間数を追加します

PHP では、date( ) 関数。ただし、特定の時間を追加してこのタイムスタンプを変更する必要がある状況が発生する可能性があります。

具体的なシナリオを詳しく見てみましょう。現在の日付と時刻を「Y-m-d H:m:s」形式で含む変数 $now があるとします。ここで、$hours は 24 から 800 までの時間数を表す変数です。タスクは、新しい変数 $ を作成することです。 $now と $hours に等しい new_time。

これを実現するには、strtotime() 関数を利用できます。この関数は日付または時刻の文字列を受け取り、対応する Unix タイムスタンプ (協定世界時 1970 年 1 月 1 日からの秒数) を返します。

date() と strtotime() を組み合わせることで、目的のタイムスタンプを構築できます。次のように:

<code class="php">$new_time = date("Y-m-d H:i:s", strtotime("+$hours hours", strtotime($now)));</code>
ログイン後にコピー

このコードは、$hours の値 (時間単位) を $now に保存されている現在のタイムスタンプに追加します。結果は、指定された日付と時刻の形式に一致するように、date() を使用してフォーマットされます。

strtotime() に渡される文字列内に変数を含める必要がある場合は、一重引用符の代わりに二重引用符を使用する必要があることに注意してください。

たとえば、$now が現在のタイムスタンプを含む変数の場合、次のように記述します。

<code class="php">$new_time = date("Y-m-d H:i:s", strtotime("+{$hours} hours"));</code>
ログイン後にコピー

ただし、変数置換のためのより堅牢な方法。

<code class="php">$new_time = date("Y-m-d H:i:s", strtotime(sprintf("+%d hours", $hours)));</code>
ログイン後にコピー

この方法では、文字列の連結中に変数の補間が確実に行われ、コード インジェクションの潜在的な脆弱性が防止されます。

以上がPHP で日付に「x」時間数を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート