Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将天/周添加到格式化日期_Php - Fatal编程技术网

Php 将天/周添加到格式化日期

Php 将天/周添加到格式化日期,php,Php,我有一个格式如下的日期:Ymd 我似乎找不到一种方法可以在这个日期前增加几个星期,我尝试了以下方法: $quote_start_date = $job['quote_authorised']; $newdate = date($quote_start_date, strtotime('+5 weeks')); $quote_start_date = $job['quote_authorised']; $newdate = date("Ymd", strtotime('+5 weeks', s

我有一个格式如下的日期:Ymd

我似乎找不到一种方法可以在这个日期前增加几个星期,我尝试了以下方法:

$quote_start_date = $job['quote_authorised'];

$newdate = date($quote_start_date, strtotime('+5 weeks'));
$quote_start_date = $job['quote_authorised'];
$newdate = date("Ymd", strtotime('+5 weeks', strtotime($quote_start_date)));

但是,新日期是相同的,向这样的格式的日期添加周的最简单方法是什么?

日期的第二个参数自纪元开始需要秒。只需在时间上增加5周(以秒为单位),即:

$newdate = date($format, strtotime($quote_start_date) + (5 * 7 * 24 * 60 * 60));
或者只使用常量值“3024000”


date
的第一个参数需要输出的日期字符串的格式。我认为您正在寻找以下内容:

$quote_start_date = $job['quote_authorised'];

$newdate = date($quote_start_date, strtotime('+5 weeks'));
$quote_start_date = $job['quote_authorised'];
$newdate = date("Ymd", strtotime('+5 weeks', strtotime($quote_start_date)));
更有效的方法是对一周的秒数使用固定值,而不是依赖PHP解析额外的
strotime
函数:

$quote_start_date = $job['quote_authorised'];
$newdate = date("Ymd", strtotime($quote_start_date) + 3024000);
这是一个演示:

 $date = new Date();
 $nextDate = new Date($date.setTime( $date.getTime() + 1 * 86400000 ));
 // here 1 is number of day .

$quote\u start\u date
的输出是什么?请告诉我们。你能写下你的输入和准确的期望输出吗?检查quote_start_date的输出,是一个日期,格式如下:Ymd,例如20170618@Aaranihlus不知道为什么在你通过的时候没有破折号(-)或正斜杠(/)。任何特定的原因都可能是“将周添加到日期”,而不是将周添加到当前时间。这是非常无效的,您要求PHP解析“+5周”,它只返回一个常量值
3024000
。只需在第一次调用中添加3024000即可。