PHPで現在の日付に特定の日数を追加するにはどうすればよいですか?
私はすでに現在の日付を取得しています:
$today = date('y:m:d');
X日数を追加するだけです
php
は、cスタイルの日付関数をサポートします。 strtotime
関数を使用して、英語スタイルのフレーズで日付期間を追加または減算できます。例...
$Today=date('y:m:d');
// add 3 days to date
$NewDate=Date('y:m:d', strtotime("+3 days"));
// subtract 3 days from date
$NewDate=Date('y:m:d', strtotime("-3 days"));
// PHP returns last sunday's date
$NewDate=Date('y:m:d', strtotime("Last Sunday"));
// One week from last sunday
$NewDate=Date('y:m:d', strtotime("+7 days Last Sunday"));
または
<select id="date_list" class="form-control" style="width:100%;">
<?php
$max_dates = 15;
$countDates = 0;
while ($countDates < $max_dates) {
$NewDate=Date('F d, Y', strtotime("+".$countDates." days"));
echo "<option>" . $NewDate . "</option>";
$countDates += 1;
}
?>
1日は86400秒です。
$tomorrow = date('y:m:d', time() + 86400);
X noを追加する最も簡単な方法。日の..
echo date('Y-m-d',strtotime("+1 day")); //+1 day from today
または指定された日付から...
echo date('Y-m-d',strtotime("+1 day", strtotime('2007-02-28')));
date_add()
関数は、必要なことを行う必要があります。さらに、 DateTime
オブジェクトのドキュメント(非公式ですが、公式のものは少しまばらです)をチェックしてください。PHPの手続き関数よりも作業がはるかに優れています。
PHP 5.3を使用
$date = new DateTime();
$interval = new DateInterval('P1D');
echo $date->format('Y-m-d') , PHP_EOL;
$date->add($interval);
echo $date->format('Y-m-d'), PHP_EOL;
$date->add($interval);
echo $date->format('Y-m-d'), PHP_EOL;
出力します
2012-12-24
2012-12-25
2012-12-26
このコードがいくつかの場所で必要な場合は、短い関数を追加して、コードをよりシンプルでテストしやすくすることをお勧めします。
function add_days( $days, $from_date = null ) {
if ( is_numeric( $from_date ) ) {
$new_date = $from_date;
} else {
$new_date = time();
}
// Timestamp is the number of seconds since an event in the past
// To increate the value by one day we have to add 86400 seconds to the value
// 86400 = 24h * 60m * 60s
$new_date += $days * 86400;
return $new_date;
}
その後、次のような場所で使用できます。
$today = add_days( 0 );
$tomorrow = add_days( 1 );
$yesterday = add_days( -1 );
$in_36_hours = add_days( 1.5 );
$first_reminder = add_days( 10 );
$second_reminder = add_days( 5, $first_reminder );
$last_reminder = add_days( 3, $second_reminder );
選択要素に15日を追加します(「Alive to Die」提案を使用)
<select id="date_list" class="form-control" style="width:100%;">
<?php
$max_dates = 15;
$countDates = 0;
while ($countDates < $max_dates) {
$NewDate=Date('F d, Y', strtotime("+".$countDates." days"));
echo "<option>" . $NewDate . "</option>";
$countDates += 1;
}
?>
$NewDate=Date('Y-m-d', strtotime("+365 days"));
echo $ NewDate; // 2020-05-21
$NewTime = mktime(date('G'), date('i'), date('s'), date('n'), date('j') + $DaysToAdd, date('Y'));
mktime()は、範囲外の入力の正しい値を自動的に計算するため、日付の計算と検証に役立ちます。
この方法の利点は、読みやすいコード行で任意の時間間隔(時間、分、秒、日、月、または年)を追加または削除できることです。
Date()関数のすべての呼び出しにより、このコードはstrtotime( "+ 1 day")よりも約2.5倍遅いため、パフォーマンスにトレードオフがあることに注意してください。ループしている場合は、これらの値を再利用することを検討してください。