PHP,MySQL:通过各个时区首选项进行选择

oshi

我有一个表(例如说)存储命中数:

id |      datetime         |  ...
-----------------------------------
1  |  2014-05-30 15:19:00  |  ...
2  |  2014-06-01 12:14:00  |  ...
3  |  2014-06-04 13:06:00  |  ...
4  |  2014-06-04 17:26:00  |  ...
5  |          ...          |  ...

用户可以生成报告,他们可以选择日期范围。但是,我想让用户能够使用自己的时区首选项。

当前,例如,我使用类似这样的查询来选择今天的列:

... WHERE datetime >= CURDATE()

我怎样才能做到这一点?将日期存储为unixtime更好吗?我已经在Google上阅读了所有结果,但感到困惑。

这个查询将被称为很多,因此性能非常重要

用户名

您可以从用户处获得时区首选项作为国家/地区的名称,并使用它来相应地设置时区:

SET time_zone = 'Europe/Helsinki';

要为日期范围创建过滤器,您可以使用常规的where条件,如下所示:

select * from table where hit_date>=startdate and hit_date<enddate

表现:

您可以使用datetime列创建索引,这将大大提高性能。要记住的一件事是,使用经常更新的内容作为索引通常不是一个好主意。

笔记:

假设您将网页点击日期时间存储在您自己的时区(例如亚洲/北京)中,并且用户将其更改为“欧洲/赫尔辛基”,在这种情况下,您应该在执行查询以检索正确的时间之前相应地转换时区结果使用

SELECT CONVERT_TZ('2004-01-01 12:00:00','Asia/Beijing','Europe/Helsinki');

用外行术语来说,因为数据库是根据您的时区填充的,所以您应该在执行用户查询之前找到您所在时区的时间。

用户时区---------->您的时区-------------->查询

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mysql-使用“ if”首选项进行选择

来自分类Dev

MySQL Workbench查询首选项

来自分类Dev

让用户在首选项屏幕中从一系列数字中进行选择

来自分类Dev

让用户在首选项屏幕中从一系列数字中进行选择

来自分类Dev

Android首选项。如何通过设置SummaryProvider强制为首选项更新摘要?

来自分类Dev

终端首选项

来自分类Dev

以编程方式更改列表首选项选择

来自分类Dev

如何在FIBPlus工具首选项中进行设置?

来自分类Dev

输入URL并以共享首选项Android进行存储

来自分类Dev

根据首选项值更改LED颜色以进行通知

来自分类Dev

音频状态未通过共享首选项持久保存

来自分类Dev

通过 API 设置用户首选项 (USERPF)

来自分类Dev

将AppCompat主题应用于PreferenceFragment中的各个首选项

来自分类Dev

具有条件首选项的mysql SELECT

来自分类Dev

PHP curl_strerror或curl_error首选项

来自分类Dev

在同一PHP页面中编辑用户的首选项

来自分类Dev

不显示首选项-首选项片段

来自分类Dev

共享首选项和首选项片段

来自分类Dev

不显示首选项-首选项片段

来自分类Dev

php:通过mysql获取选项选择值

来自分类Dev

更改首选项的高度

来自分类Dev

Java中的首选项

来自分类Dev

文件结构首选项

来自分类Dev

清除共享首选项

来自分类Dev

共享首选项Facebook

来自分类Dev

共享首选项-Android

来自分类Dev

网络接口首选项

来自分类Dev

Firefox全屏首选项

来自分类Dev

添加首选项值