FreeTDS奇怪的日期时间格式

时间:2012-08-06 07:45:27

标签: php freetds

使用更新的软件将应用程序移动到新服务器后(从php 5.2.17 - > 5.3.15移除,FreeTDS 0.64 - > 0.82)

SELECT GETDATE()

和任何其他日期时间函数/列产生类似于:

的内容
2012-06-219 51:527:
// proper time: 2012-08-06 09:33:02

我知道我可以在select中使用convert,但是在DB中有许多我无法更改的存储过程。

我尝试更改/etc/locales.conf并设置date format = %Y-%m-%d %H:%M:%S,并使用ini_set('mssql.datetimeconvert',1);,但freetds似乎忽略它并返回Aug 06 2012 09:33AM

有没有办法以标准格式检索日期时间列,而无需修改每个查询?

1 个答案:

答案 0 :(得分:4)

我以一种蛮力的方式解决了这个问题 - 在date format的所有语言环境中更改了/etc/locales.conf,我不知道哪个有效,但我很确定没有一个用作系统区域设置。

无论如何,不​​建议使用datetimeconvert,并在某些db抽象层库(在这种情况下是adodb)中关闭,所以我仍然感兴趣,如果有任何方法可以显示正确的日期时间