質問
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
指定した日付からのOR ...
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日を追加します(&quot; Alive to Die&quot;提案を使用)
<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(&quot; +1 day&quot;)よりも約2.5倍遅いため、パフォーマンスにトレードオフがあることに注意してください。ループしている場合は、これらの値を再利用することを検討してください。
<?php
$dt = new DateTime;
if(isset(<*>GET['year']) && isset(<*>GET['week'])) {
$dt->setISODate(<*>GET['year'], <*>GET['week']);
} else {
$dt->setISODate($dt->format('o'), $dt->format('W'));
}
$year = $dt->format('o');
$week = $dt->format('W');
?>
<a href="<?php echo <*>SERVER['PHP_SELF'].'?week='.($week-1).'&year='.$year; ?>">Pre Week</a>
<a href="<?php echo <*>SERVER['PHP_SELF'].'?week='.($week+1).'&year='.$year; ?>">Next Week</a>
<table width="100%" style="height: 75px; border: 1px solid #00A2FF;">
<tr>
<td style="display: table-cell;
vertical-align: middle;
cursor: pointer;
width: 75px;
height: 75px;
border: 4px solid #00A2FF;
border-radius: 50%;">Employee</td>
<?php
do {
echo "<td>" . $dt->format('M') . "<br>" . $dt->format('d M Y') . "</td>\n";
$dt->modify('+1 day');
} while ($week == $dt->format('W'));
?>
</tr>
</table>