PHP从字符串变量创建日期时间变量

时间:2019-01-09 12:00:59

标签: php

我想使用datetime函数从字符串变量中创建一个新的datetime变量。
所以,我有:
$sqlData=$day . "." . $month . "." . $year;
echo $sqlData;

$local=new datetime('${sqlData}');
echo $local;

问题出现在echo $local;

错误消息:Failed to parse time string (${sqlData}), unexpected character'

2 个答案:

答案 0 :(得分:2)

为什么您认为在DateTime中需要{'
$sqlData是一个字符串,而DateTime需要一个字符串。那么为什么不给它字符串呢?

$sqlData=$day . "." . $month . "." . $year;
echo $sqlData;

$local=new datetime($sqlData);
var_dump($local);

然后回声将无法使用,因为它是一个对象,因此var_dump / print_r或var_export

https://3v4l.org/nq8iY

要回显字符串,您需要格式化对象。

echo $local->format('Y-m-d');

答案 1 :(得分:2)

下面这对我有用,您需要设置格式并将其作为新变量返回。

   <?php
    $date = 05; $month = 05; $year = 1990;
    $sqlData="$date.$month.$year";
    $local=new datetime($sqlData);
    $date = $local->format('Y/m/d');
    echo $date;