如何在我的输出中添加时区显示?当它是PDT时,我希望它说PDT,如果是PST则自动更改为PST。
这是我当前的查询
SELECT IF (DAYOFWEEK( CURDATE() ) = 1, DATE_FORMAT(DATE_ADD(curdate(), INTERVAL 2 DAY), "%h:%i %p"), DATE_FORMAT(CURDATE(), "%h:%i %p"))
这个的输出是
12:00 AM
如果我能像
那样输出时区就太好了12:00 AM PDT or 12:00 AM PST
MySQL不存储时区,因此您拥有的DATETIME值不包括时区。您必须单独存储时区。
一个小警告:如果您将时区存储为"PST"或"PDT",它将很容易显示,但很难转换为其他时区,因为"PST"不是唯一的,有几个不同的时区与缩写。
如果您需要将DATETIME转换为其他时区,您可能应该将DATETIME存储为UTC,并使用其完整的z-name存储时区,如"America/New_York"。然而,你可能需要使用一种编程语言来处理所有这些,比如python, Ruby, PHP, Java,因为SQL通常没有很好的时区支持,我想对于MySQL也是如此。