【问题标题】:FreeTDS strange date time formatFreeTDS 奇怪的日期时间格式
【发布时间】:2012-08-11 04:18:52
【问题描述】:

将应用程序移动到具有更新软件的新服务器后(从 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

我知道我可以在选择中使用convert,但是数据库中有很多存储过程我无法更改。

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

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

【问题讨论】:

    标签: php freetds


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的解决方案!
    • 你能分享(没有任何敏感信息)你的 locales.conf 吗?另外..更改设置后是否必须重新启动apache?
    • 抱歉,我无法再访问该项目。我很确定您需要重新启动 Apache(如果它作为模块运行 php)或 PHP-FPM(如果它作为 FastcGI 传递配置运行)。
    猜你喜欢
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多