簡體   English   中英

將當前日期增加5天

[英]Increase current date by 5 days

$date = date('Y-m-d',current_time('timestamp', 0));

如何將$date更改$date $date + 5 days

PHP版本是5.2。

該代碼不起作用:

$date_cur = date('Y-m-d',current_time('timestamp', 0));
echo $date_cur . ' <br>';
$date_cur_plus = date($date_cur, strtotime('+5 days'));
echo $date_cur_plus;

給我:

2011-11-29 
2011-11-29
$date = date('Y-m-d', strtotime('+5 days'));

您可以使用mktime()時間戳的mktime()

就像是:

$date = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + 5, date('Y')));

使用strtotime()速度更快,但是我的方法仍然有效,並且在需要進行大量修改的情況下非常靈活。 另外, strtotime()無法處理不明確的日期。

編輯

如果您必須以YYYY-MM-DD格式向已存在的日期字符串添加5天,則可以將其拆分為一個數組,然后將這些部分與mktime()

$parts = explode('-', $date);
$datePlusFive = date(
    'Y-m-d', 
    mktime(0, 0, 0, $parts[1], $parts[2] + 5, $parts[0])
    //              ^ Month    ^ Day + 5      ^ Year
);

面向對象的樣式:

<?php
    $date = new DateTime('now');
    $date->add(new DateInterval('P5D'));
    echo $date->format('Y-m-d') . "\n";
?>

程序風格:

<?php
    $date = date_create('2016-01-01');
    date_add($date, date_interval_create_from_date_string('5 days'));
    echo date_format($date, 'Y-m-d');
?>

strtotime()非常好。 它允許您執行以下操作:

$startDate = 'now'; // or choose a certain date you want/have
$startDate = '2013-02-14';
$intervals = array(
    '', 
    '+ 5 days', 
    '+ 31 days', 
    '+ 3 months', 
    '+ 2 years + 2 days'
); 
foreach($intervals as $interval) {
    $combinedDate = $startDate . ' ' . $interval;
    var_dump($combinedDate . ' => ' date('Y-m-d', strtotime($combinedDate)));
}

結果:

現在=> 1360334498 = 2013-02-08

現在+ 5天=> 1360766498 = 2013-02-13

現在+ 31天=> 1363012898 = 2013-03-11

現在+ 3個月=> 1368020498 = 2013-05-08

現在+ 2年+ 2天=> 1423579298 = 2015-02-10

要么:

2013-02-14 => 1360792800 = 2013-02-14

2013-02-14 + 5天=> 1361224800 = 2013-02-19

2013-02-14 + 31天=> 1363471200 = 2013-03-17

2013-02-14 + 3個月=> 1368478800 = 2013-05-14

2013-02-14 + 2年+ 2天=> 1424037600 = 2015-02-16

對於特定日期:

$date = '2011-11-01';
$date_plus = date('Y-m-d', strtotime($date.'+5 days'));
echo $date.'<br>'.$date_plus;

它將給出:

2011-11-01
2011-11-06

使用strtotime

$date = date('Y-m-d', strtotime('+5 days'));
$dateplus5 = date('Y-m-d', strtotime('+5 days'));

您可以使用

strtotime(“+5 days”)

獲取當前日期加上5天,或者

$targetDate = date($date, strtotime(’+5 days’));

我用這個:

$date = strtotime("+1 day", strtotime("2007-02-28"));
echo date("Y-m-d", $date);

現在正在工作。

不應該這樣嗎?

$date_cur = date('Y-m-d', current_time('timestamp', 0));
echo $date_cur . ' <br>';
$date_cur_plus = date('Y-m-d', strtotime('+5 days', current_time('timestamp', 0) ) );
echo $date_cur_plus;

如果日期已經存在,則可以使用以下代碼:

$tartDate = date("m/d/Y", strtotime("+1 Day", strtotime($Date)));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM