使用PHP从MySQL添加日期到日期变量

时间:2018-04-05 14:11:24

标签: php html mysql

我有一个来自SQL $start的日期变量,但我需要用PHP为这个变量添加天数。我这样做是为了补充:

<?php
    $start = $start;
    //Incrementando 2 dias
    $jor2  = strtotime($start . "+ 1 days");
    echo date("d-m-Y", $jor2);
?>

我不知道什么是错的,但结果是:19-03-2028我的变量$start28-03-18

输出应为:

$start (28 / 03 / 2018) + 7 days, (04 / 04 / 2018)

2 个答案:

答案 0 :(得分:1)

<?php
// Date coming from Mysql
$start = '2018-04-05';
$result = date('Y-m-d', strtotime($start . ' +1 day'));
var_dump($result);
@axiac评论后

更新

由于$start包含的日期格式与Mysql的格式不同,因此这是一种转换它的方法:

<?php
$start = '28-03-18';
list($d, $m, $y) = sscanf($start, '%d-%d-%d');
$start = $y . '-' . $m . '-' . $d;

答案 1 :(得分:1)

strtotime()无法解析d-m-y format

当组件分隔符为-时,要么使用4位数年份(第一个或最后一个组件),要么年份是第一个组件(4或2位数)。

使用DateTime::createFromFormat()告诉解析器您正在使用的格式:

$start = DateTime::createFromFormat('d-m-y', '28-03-18');
$end = $start->add(new DateInterval('P1D'));

echo($end->format('d-m-Y'));
# 29-03-2018