gpt4 book ai didi

php - 更改日期格式,来自 postgresql 的 php echo 总是返回 "Date(1970, 01, 01)"

转载 作者:行者123 更新时间:2023-11-29 14:34:38 25 4
gpt4 key购买 nike

    <?php


header('Content-Type: application/json; charset=utf-8');
$db = pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=blabla");

$result = pg_query($db,"SELECT kv.ph, kv.date FROM public.kv ORDER BY date DESC LIMIT 5");

$return = array();
while ($row = pg_fetch_array($result)) {

$test = $row[1];
$date = DateTime::createFromFormat('y-m-d', $test);
$formatdate = date('Y, m, d',$date);
$return[] = array((int)$row[0],"Date($formatdate)");

}

pg_close($db);


echo $data=json_encode($return);
?>

我需要这样的回显:
[[6, "日期(2017, 10, 5)"], [9, "日期(2017, 9, 30)"], ...]
我得到:
[[6,"日期(1970, 01, 01)"],[9,"日期(1970, 01, 01)"],...]

我有点卡在这里,请帮忙。 postgres 中的数据类型是日期。 2017-10-28

最佳答案

date() 函数中的第二个参数出错。这必须是 int 但对象 DateTime 给定。

$formatdate = date('Y, m, d',$date); 中使用 date_format() 而不是 date(); 行。

所以你的代码可以是:

$formatdate = date_format($date, 'Y, m, d');

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

关于php - 更改日期格式,来自 postgresql 的 php echo 总是返回 "Date(1970, 01, 01)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47036021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com