如何在输出中添加时区显示?当它的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
答案 0 :(得分:1)
MySQL不存储时区,因此您拥有的DATETIME值不包含时区。您必须单独存储时区。
一点警告:如果您将时区存储为“PST”或“PDT”,它将很容易显示,但很难转换为其他时区,因为“PST”不是唯一的,有几个不同的时间带有缩写的区域。
如果您需要将DATETIME转换为其他时区,您可能应该将DATETIME存储为UTC,并使用它的完整tz名称存储时区,例如“America / New_York”。但是,您可能需要使用编程语言来处理所有这些,例如Pyhton,Ruby,PHP,Java,因为SQL通常没有非常好的时区支持,而AFAIK也适用于MySQL。