ホームページ >バックエンド開発 >PHPの問題 >PHPで指定した時刻に日数を加算する方法

PHPで指定した時刻に日数を加算する方法

PHPz
PHPzオリジナル
2023-04-21 09:08:071449ブラウズ

PHP アプリケーションを作成する場合、特定の日付に特定の日数を加算または減算する必要がある場合があります。この場合、PHP の組み込みの日付と時刻の関数を使用できます。この記事では、PHP で指定した時刻に日数を追加する方法について説明します。

PHP で日付と時刻を処理する関数はすべて「date」モジュールにあります。このモジュールには豊富な関数ライブラリがあり、さまざまな日付と時刻の計算や書式設定操作を実行できます。この記事では、主に次の 2 つの関数を使用します。

  1. strtotime() 関数: この関数は、人間が判読できる日付時刻をタイムスタンプに変換して、操作できるようにします。
  2. date() 関数: この関数は、指定されたタイムスタンプを特定の日付と時刻の形式にフォーマットします。

以下は、上記の 2 つの関数を使用した日付の増分の例です。

//指定日期和增加的天数
$given_date = "2021-08-01";
$days_to_add = 7;

//将给定日期转换为时间戳
$timestamp = strtotime($given_date);

//将增加的天数转换为秒数
$seconds_to_add = $days_to_add * 24 * 60 * 60;

//将时间戳加上秒数得到新的时间戳
$new_timestamp = $timestamp + $seconds_to_add;

//使用date()函数将新的时间戳转换为日期字符串
$new_date = date("Y-m-d", $new_timestamp);

//输出新日期
echo $new_date;

上の例では、最初に日付と増分する日数を指定しました。次に、strtotime() 関数を使用して日付をタイムスタンプに変換します。次に、追加する日数を秒に変換し、それを元のタイムスタンプに加算して、新しいタイムスタンプを取得します。最後に、date() 関数を使用して、新しいタイムスタンプを日付文字列形式に変換し、新しい日付を出力します。

上記の例の日付形式 (「年-月-日」) に加えて、date() 関数は、タイムスタンプを次のような他の日付と時刻の形式にフォーマットすることもできます。形式:「Y-m-d H:i:s」。「H:i:s」は時間、分、秒を表します。

日数を減らしたい場合は、増加する日数の計算を減少に変更するだけです。たとえば、日付を 7 日減らすには:

//指定日期和减少的天数
$given_date = "2021-08-08";
$days_to_subtract = 7;

//将给定日期转换为时间戳
$timestamp = strtotime($given_date);

//将减少的天数转换为秒数
$seconds_to_subtract = $days_to_subtract * 24 * 60 * 60;

//将时间戳减去秒数得到新的时间戳
$new_timestamp = $timestamp - $seconds_to_subtract;

//使用date()函数将新的时间戳转换为日期字符串
new_date = date("Y-m-d", $new_timestamp);

//输出新日期
echo new_date;

上の例では、同じコードを使用しましたが、増加する日数の計算を減少するように変更しました。このようにして、PHP で日付を簡単に増減できます。

概要:
PHP では、日付と時刻の処理は非常に一般的なタスクです。組み込みの date() および strtotime() を使用できます。関数は日付と時刻の計算を完了します。この記事では、PHP で指定した時刻に日数を加算する方法、つまり日付をタイムスタンプに変換し、特定の秒数に加算または減算する方法を主に説明しました。さらに、date() 関数は、タイムスタンプを特定の日付と時刻の形式にフォーマットすることもできます。これらの関数をマスターすれば、PHPで簡単に日付計算を行うことができます。

以上がPHPで指定した時刻に日数を加算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。