问题标签 [convert-tz]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
185 浏览

php - MySQL:想知道如何在调整时区后根据天选择记录

我想根据表中的具体情况选择“当前可用”的记录。我认为这应该很容易,但当然,我没有看到它。我希望在这里问能让我的头脑足够清醒,也许我可以回答我自己的问题!

我有 2 张桌子:

鉴于我知道当前的 GMT 时间戳是“2012-07-08 13:35:00 GMT”,我应该能够从 table_1 中选择记录,其中 table_2.day_of_week在调整 time-zone 后是匹配的。

MySql 函数 CONVERT_TZ 看起来很有希望!

CONVERT_TZ('2004-01-01 12:00:00','GMT','MET')
CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00 ');

我可以试试这个:

SELECT id from table_1 inner join table_2 ON (table_1.id=table_2.table_1_id)
WHERE DAYOFWEEK(CONVERT_TZ(UTC_TIMESTAMP, 'GMT', table_1.time_zone_name)) = table_2.day_of_week

但是 CONVERT_TZ 函数不接受安装在我的主机上的 MySql 上的区域名称,例如“US/Eastern”。根据 MySql 文档:

要使用命名时区,例如“MET”或“Europe/Moscow”,必须正确设置时区表。

显然他们没有正确设置。

有没有更好的方法来解决这个问题?任何建议将不胜感激。

0 投票
1 回答
2032 浏览

mysql - SQL - 比较不同时区的日期

我的MySQL数据库中有一个字段,其中包含具有以下格式的时区日期:1986-07-10T00:00:00.000+02:001986-07-10T00:00:00.000Z(Z 表示祖鲁时间,或UTC)。

我正在尝试编写一个WHERE子句来检查 NOW (我的时区 = )和日期字段之间的差异Europe/Brussels是否超过例如 18 年。有什么办法我可以只使用来完成这个SQL吗?

我正在阅读一个名为的函数,CONVERT_TZ()但我不确定我是否朝着正确的方向前进。

0 投票
4 回答
3570 浏览

php - Mysql时区并从一天开始选择行

我使用 MySQL DATETIME 列来存储日期和时间。日期采用 UTC。我想从一天中选择项目。我现在在做什么:

请注意,时区取决于用户

问题是表格增长速度很慢。有什么解决方案可以让它更快吗?

0 投票
1 回答
2420 浏览

java - 日期时间在应用程序中正确但在 mysql [时区] 中错误

问题:应用服务器中的正确时间,数据库中的错误。

我在中国,时区是 UTC+8 我使用休眠。实体定义如下(语言:Scala)

我打开休眠日志,在我的应用服务器中查看以下内容。当前时间是 Thu Sep 13 11:08:44 CST 2012

在我的数据库服务器中:

所以mysql时区是对的。UTC+8

从mysql中选择后:

log_date 错误!

0 投票
2 回答
218 浏览

mysql - 你会在 ORDER BY 子句中的时间戳上使用 CONVERT_TZ() 吗?

有人能告诉我为什么你会在 ORDER BY 子句中的时间戳上使用 CONVERT_TZ() 吗?在这种情况下,时间戳将始终采用 UTC。

我在我正在使用的一段代码中发现了它,由于 mysql_tzinfo_to_sql 现在有问题,所以我只想删除它。

我可以看到在 SELECT 和 WHEN 等其他地方使用它的原因。但是有正当理由在 ORDER BY 中使用它吗?

0 投票
3 回答
1639 浏览

php - 使用 unix 时间、php、mysql 的时区问题

昨晚我花了 8 个多小时检查所有文档,浏览各种帖子等,我几乎解决了我的问题,但仍然缺少一些我无法理解的东西。

我有一个表,它存储各种用户提交的带有unix 时间戳(例如1351867293)。我正在提取这些信息并对其进行计数,以获得“今天”、“昨天”、“本周”等提交的总数。

我使用的代码(用于“今天提交”)是:

到目前为止一切都很好,但是有一个时间偏移并且数据没有正确显示。stackoverflow 上的用户建议使用 CONVERT_TZ 来固定偏移量。

这就是我被卡住的地方。我位于 CST 时区,我的服务器似乎位于 EST 时区。所以我使用了这段代码

...但它只显示“0”,尽管我今天有提交。我尝试了不同的时区,但结果它们都给了我“0”。当我用数字替换 EST 和 CST 时,例如:

...我得到一个数字输出,但数字不正确。我尝试了很多组合,包括 +08:00、-05:00,但似乎没有任何效果。

基本上我要问的是我必须将哪些值作为这两个数字,以获得正确的结果?我网站上的所有其他内容都可以在我的时区 (CST) 中正确显示,我只遇到了这个查询的问题。

如果有帮助,我的服务器的 IP 是 50.116.13.130。

0 投票
1 回答
427 浏览

php - 使用 COVERT_TZ 函数、php、mysql 更改 YEARWEEK 的时区偏移量

好的,这就是我想要做的:

该行通过将输出转换为我正确的时区,为我提供了表格中昨天提交的总数。

现在我想对本周提交的总数做同样的事情:

这给了我本周提交的总数,但时间偏移错误。如何让 $timezone1 和 $timezone2 进入这一行?我尝试了几种组合,但似乎没有任何效果,例如:

0 投票
1 回答
1286 浏览

mysql - 从mysql数据库中获取unix时间戳并应用偏移量

我有以秒为单位的 UTC 偏移量,存储在数据库中的所有时间戳都是 UTC,如何在选择查询期间应用偏移量,

我想将UTC时间插入数据库并在本地时间检索。

在 PHP 上:

我可以将 select 的 mysql 运行时减去 unix_timestamp 字段 $user_timezone_offset 吗?

我正在插入 UTC,这显然是我需要的,但是对于用户本地时间的选择,我需要以某种方式将偏移量应用于存储在数据库中的时间戳。

编辑:我刚遇到这个:

需要知道如何将其应用于选择查询,从而将 unix_timestamp 的选择转换为在选择内进行比较,并且结果也被修改为 php 的 fetch_array

这似乎是解决方案:

实际上这有一个问题 - 虽然在

在检查时转换

在选择上进行转换-在那里它没有被转换,另一个

每次要对转换后的值进行检查时,都必须调用 unix_timestamp 进行“转换”。

0 投票
1 回答
417 浏览

mysql - 以 RFC2822 格式插入日期 - 没有时区说明符?

我有一个RFC2822格式的字符串,我想在 UTC 时间插入适当的时间戳。

直到现在我想出了

但问题是 TZ offset -0700,似乎没有格式说明符。

如何正确地将这样的时间戳插入数据库?

我想避免在应用程序端进行处理。

更新

如何通过使用变量而不是重复字符串来“干净”地做到这一点Mon, 15 Aug 2005 15:52:01 +0200

0 投票
0 回答
280 浏览

mysql - CONVERT_TZ 是否考虑夏令时?

可能重复:
MySQL CONVERT_TZ()

CONVERT_TZ 是否考虑夏令时?

例如:

CONVERT_TZ('2013-1-1 12:00:00', 'US/Pacific', 'UTC');

我得到了正确的结果,但我不确定如何测试 DST 场景。