从json文件将字符串转换为日期

时间:2016-05-21 02:47:37

标签: php json postgresql

我想从json文件中获取数据,以便填充postgres空间数据库。

在json文件中,日期数据存储在:" dt_txt":" 2016-05-21 03:00:00",我要存储2016-05 -21在日期。

$json_d=file_get_contents('file.json);
$data=json_decode($json_d,TRUE);    
$date=$data['list'][0]['dt_txt'];
$dbconn = new PDO("pgsql:host=localhost; port=5432; dbname=DB", "postgres", "0000");
$insertmbr = $dbconn->prepare("INSERT INTO weather(date) VALUES(?)");
$insertmbr->execute(array($date));

当我运行代码时出现此错误

  

致命错误:在非对象

上调用成员函数format()

1 个答案:

答案 0 :(得分:1)

您需要先将其转换为时间戳

$date = strtotime($data['list'][0]['dt_txt']);

然后您可以使用date方法根据需要对其进行格式化:

$date = date('Y-m-d', $date);

您还可以使用相同的命令提取时间:

$time = date('H:i:s', $date);

或者,您也可以使用explode

在空格上拆分字符串

list($date, $time) = explode(' ', $date, 2);