Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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,我用整数添加时间戳有问题,我有开始日期(时间戳)和月工资。我想将开始日期的月份添加为月份。 e、 g 这样,我只显示年、月、日,但这不是我想要的。也许这就是你想要的 $date = date_create('2015-02-04 12:38:58'); date_add($date, date_interval_create_from_date_string('30 days')); // 1 month is not quite good duration / time interval e

我用整数添加时间戳有问题,我有开始日期(时间戳)和月工资。我想将开始日期的月份添加为月份。

e、 g



这样,我只显示年、月、日,但这不是我想要的。

也许这就是你想要的

$date = date_create('2015-02-04 12:38:58');
date_add($date, date_interval_create_from_date_string('30 days'));
// 1 month is not quite good duration / time interval
echo date_format($date, 'Y-m-d H:i:s');
输出为:
2015-03-06 12:38:58


如果希望它是3月4日,请将其更改为
28天
(对于今年,或@建议的
1个月

假设$timestamp是表示日期的字符串, 和$month_pay是您希望添加到此日期的月数:

$month_pay = 1;   
$totalDate = strtotime($timestamp) + ($month_pay*86400);
现在$totalDate是最终日期的时间戳

echo date("Y-m-d", $totalDate);

你的主要问题是什么?未获取。您可以将日期字符串转换为时间戳(使用strotime)。然后您可以简单地将月数添加到时间戳中$totalDate=strotTime($timestamp)+$month\u pay*(86400);是的,你是对的,但是
1月31日
+
1个月
将以
3月3日
date\u create()结束:依赖系统的时区设置是不安全的。您需要使用date.timezone设置或date\u default\u timezone\u set()函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,则很可能是您拼错了时区标识符。
$month_pay = 1;   
$totalDate = strtotime($timestamp) + ($month_pay*86400);
echo date("Y-m-d", $totalDate);