Php PostgreSQL:如何在不使用to_char()的情况下格式化日期?

Php PostgreSQL:如何在不使用to_char()的情况下格式化日期?,php,postgresql,Php,Postgresql,我有一个PHP脚本,希望保持不变: $display = array( 'QDATETIME', 'ID', 'NAME', 'CATEGORY', 'APPSVERSION', 'OSVERSION', ); $sql = sprintf(" select %s from quincytrack where qdatetime > (now() - interval '2 day') and qdatetime &

我有一个PHP脚本,希望保持不变:

$display = array(
    'QDATETIME',
    'ID',
    'NAME',
    'CATEGORY',
    'APPSVERSION',
    'OSVERSION',
);

$sql = sprintf("
    select %s from quincytrack
    where qdatetime > (now() - interval '2 day') and
    qdatetime <= now()",
    join(', ', $display));
$sth = $pg->prepare($sql);
$sth->execute($args);
$display=array(
“QDATETIME”,
“ID”,
“姓名”,
“类别”,
“应用程序版本”,
“OSVERSION”,
);
$sql=sprintf(“
从五分线轨道中选择%s
其中qdatetime>(现在()-间隔“2天”)和

qdatetime仅强制转换为数据类型日期:

SELECT
    CAST('2010-12-18 15:51:37' AS DATE);

如果不想更改PHP脚本,可以尝试调整配置参数


不过,我建议您只更改PHP脚本。更改全局服务器配置可能会影响服务器上当前运行的其他内容。

比依赖数据库进行日期格式设置更好的方法是依赖PHP

echo date("Y-m-d", strtotime($row['column']));

这既解决了最初的问题(即在构建查询时混淆join语句),也为您提供了更大的灵活性(例如,也许以后用户可以为首选日期格式设置首选项)和更大的可伸缩性(您可以在PHP中做的工作越多,水平伸缩性越强越好).

TO_CHAR
是专门为格式化输出而设计的。为什么不使用它呢?这取决于
日期样式设置。