我想要获取一个距离我指定的日期一年之后的日期。
我的代码看起来像这样:
$futureDate=date('Y-m-d', strtotime('+one year', $startDate));
它返回的日期不正确。有什么想法吗?
我想要获取一个距离我指定的日期一年之后的日期。
我的代码看起来像这样:
$futureDate=date('Y-m-d', strtotime('+one year', $startDate));
它返回的日期不正确。有什么想法吗?
$futureDate=date('Y-m-d', strtotime('+1 year'));
$futureDate距离现在一年!
$futureDate=date('Y-m-d', strtotime('+1 year', strtotime($startDate)) );
$futureDateè·çŠ»$startDateäžćčŽćŠïŒ
$futureDate=date('Y-m-d',strtotime('+1 year',$startDate));
。 - dallin要将一年加到今天的日期,请使用以下方法:
$oneYearOn = date('Y-m-d',strtotime(date("Y-m-d", mktime()) . " + 365 day"));
对于其他的示例,您必须使用时间戳值来初始化$StartingDate,例如:
$StartingDate = mktime(); // todays date as a timestamp
试试这个
$newEndingDate = date("Y-m-d", strtotime(date("Y-m-d", strtotime($StaringDate)) . " + 365 day"));
或者$newEndingDate = date("Y-m-d", strtotime(date("Y-m-d", strtotime($StaringDate)) . " + 1 year"));
//1 year from today's date
echo date('d-m-Y', strtotime('+1 year'));
//1 year from from specific date
echo date('22-09-Y', strtotime('+1 year'));
希望这段更简单的代码能帮助将来的某个人 :)
$futureDate=date('Y-m-d',strtotime('+1 year',$startDate));
。,
改为.
,然后它就可以工作了:date("Y-m-d",strtotime('+1 year '.$startDate))
; - Muhammad Bilal// Declare a variable for this year
$this_year = date("Y");
// Add 1 to the variable
$next_year = $this_year + 1;
$year_after = $this_year + 2;
// Check your code
echo "This year is ";
echo $this_year;
echo "<br />";
echo "Next year is ";
echo $next_year;
echo "<br />";
echo "The year after that is ";
echo $year_after;
我刚遇到过同样的问题,不过这是最简单的解决方法:
<?php (date('Y')+1).date('-m-d'); ?>
$next_year = (date('Y')+1)
。 - Martin我更喜欢面向对象的方法:
$date = new \DateTimeImmutable('today'); //'today' gives midnight, leave blank for current time.
$futureDate = $date->add(\DateInterval::createFromDateString('+1 Year'))
如果您不想修改原始日期,建议使用 DateTimeImmutable
!更多关于 DateTimeImmutable 的信息请参考: http://php.net/manual/en/class.datetimeimmutable.php
如果您只需要今天的日期,可以使用以下代码:
new \DateTimeImmutable('-1 Month');
如果您正在使用PHP 5.3,那是因为您需要设置默认时区:
date_default_timezone_set()
strtotime()
返回 bool(false)
,因为它无法解析字符串'+one year'
(它不理解"one")。然后将false
隐式转换为integer
时间戳0
。在将其放入其他函数之前,最好先验证strtotime()
的输出不是bool(false)
。
返回值
成功时返回时间戳,否则返回FALSE。在PHP 5.1.0之前,此函数会在失败时返回-1。
//strtotime('+1 day');
//strtotime('+1 week');
//strtotime('+1 month');
$now = date('Y-m-d');
$oneYearLaterFromNow = date('Y-m-d', strtotime('+1 year'));
$oneYearLaterFromAnyDate = date('Y-m-d', strtotime('+1 year', strtotime($anyValidDateString)));