문제
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;
}
?>
다른 팁
하루는 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 일을 추가합니다 ( "살아있는 다이 죽음 사용"제안)
<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"));
에코 $ NewDate; // 2020-05-21
$NewTime = mktime(date('G'), date('i'), date('s'), date('n'), date('j') + $DaysToAdd, date('Y'));
에서 MKTIME 문서:
mktime ()은 날짜 산술 및 유효성 검사를 수행하는 데 유용하며, 범위 외 입력에 대한 올바른 값을 자동으로 계산합니다.
이 방법의 장점은 읽기 쉬운 코드 라인에서 시간 간격 (시간, 분, 초, 일, 몇 달 또는 연도)을 추가 또는 빼낼 수 있다는 것입니다.
날짜 () 함수에 대한 모든 호출로 인해이 코드가 strtotime ( "+1 일")보다 약 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>