Php PostgreSQL:如何在不使用to_char()的情况下格式化日期?
我有一个PHP脚本,希望保持不变: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 &
$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
是专门为格式化输出而设计的。为什么不使用它呢?这取决于日期样式设置。