【问题标题】:Add mysql OR php trigger to change datetime format from US to UK for any query that return datetime添加 mysql OR php 触发器以将日期时间格式从美国更改为英国,以用于返回日期时间的任何查询
【发布时间】:2015-07-19 14:26:56
【问题描述】:

我有一个基于 YII 构建的系统,使用美国日期格式,我的客户要求我将格式更改为英国格式,问题是系统太大,我无法绕过整个系统代码来更改呈现格式。

有没有办法在 php 或 mysql 中为日期、日期时间字段添加触发器以返回英国格式。

谢谢

【问题讨论】:

  • 日期以内部格式存储在数据库中。您应该能够更改数据库的国际化设置,并且它应该可以工作,假设您在任何地方都使用本机类型并且没有执行明确的 format() 语句。在任何情况下,触发器都无济于事,因为它们不会影响 select 语句。

标签: php mysql date datetime yii


【解决方案1】:

你问:

有没有办法为日期、日期时间添加触发器 在 php 或 mysql 中以英国格式返回的字段。

没有。

MySQL 内部日期时间格式不可更改。 DBMS 中唯一对区域设置敏感的设置是呈现月份和工作日名称的语言。在美国,我们从英国获得了这些名字。所以这没有帮助。

如果您希望 MySQL 以欧元格式 (25.12.2015) 从其表中呈现日期,您需要这个。

     DATE_FORMAT(datevalue, '%e.%c.%Y')

如果你在 php 中有日期,你可以使用这种东西。

    date('j.n.Y', $datevalue);

许多 php 应用程序提供了一个全局 $DATEFORMAT 字符串常量,可以更改它以在不同的语言环境中使用。您可能需要调整您的代码来执行此操作。例如,WordPress 团队确实很好地解决了这个问题。 https://codex.wordpress.org/Formatting_Date_and_Time

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多