在尝试使用论坛上提供的众多方法的数据库中向变量添加1个月时出现问题:
$row["pchargedate"] returns 2018-03-01
$newduedate = date('Y-m-d', strtotime('+1 month', $row["pchargedate"])) ;
-returns 0000-00-00
$newduedate = date('Y-m-d', strtotime('+1 month', $row["pchargedate"])) ; }
$newduedate = date ( 'Y-m-d' , $newduedate );
- returns 1970-01-01
$duedate = DateTime::createFromFormat('Y-m-d', $row["pchargedate"]);
$duedate = $duedate->format('d-m-Y');
if ($row["pchargedate"] == '1' ) { $newduedate = strtotime ( '+1 month' , strtotime ( $pchargedate ) ) ; }
$newduedate = date ( 'Y-m-d' , $newduedate );
- $duedate returns 01-03-2018 but $newduedate is 1970-01-01
非常感谢任何帮助。
答案 0 :(得分:1)
strtotime - 将任何英文文本日期时间描述解析为Unix时间戳
Syntex
int strtotime ( string $time [, int $now = time() ] )
这个怎么样?
<?php
$row = "2018-03-01";
echo date('Y-m-d', strtotime($row. ' + 1 month'));
//Outputs 2018-04-01
你正在使用的syntex是
$newduedate = date('Y-m-d', strtotime('+1 month', $row["pchargedate"])) ;
哪个错了。所以它将按默认日期输出
请阅读Documentation。