【问题标题】:Select from mysql by day with different timezones (php)按天从不同时区的mysql中选择(php)
【发布时间】:2011-01-29 18:33:19
【问题描述】:

我将潜在客户存储在数据库中,每个潜在客户都有一个日期时间字段,其中包含基于 PST 时区的日期和时间。

我希望我的用户能够显示某个日期(例如今天、昨天)的所有潜在客户,并选择时区。

例如如果我想查看昨天在 EST 时区生成的所有潜在客户,我需要先将所有日期时间值转换(或读取)为 EST,然后只选择目标范围内(昨天)的那些。

最好的方法是什么?

【问题讨论】:

  • 还会考虑日光节约吗?

标签: php mysql select timezone


【解决方案1】:

你可以使用 MySQL 的Convert_TZ(dt, from_tz, to_tz) 函数。

例如

SELECT CONVERT_TZ('2010-03-20 12:00:00', 'EST', 'PST8PDT')

返回2010-03-20 10:00:00

编辑:要选择“今天在 EST”的所有记录,您可以使用类似

SELECT
  x,y,z
FROM
  foo
WHERE
  dt >= CONVERT_TZ(CURDATE(), 'EST', 'PST8PDT')
  AND dt < CONVERT_TZ(CURDATE(), 'EST', 'PST8PDT')+Interval 1 day

【讨论】:

  • 谢谢,这有帮助。但是,我如何只选择 ETS 中的潜在客户?
  • CONVERT_TZ(CURDATE(), 'EST') 需要 3 个参数。你只使用了两个@VolkerK
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 2021-02-14
  • 1970-01-01
  • 2020-10-14
  • 2014-04-18
  • 2013-01-19
  • 1970-01-01
相关资源
最近更新 更多