标签: utc-time

MySQL 将 UTC 时间设置为默认时间戳

如何设置默认值为当前 UTC 时间的时间戳列?

MySQL 使用UTC_TIMESTAMP()UTC 时间戳函数:

mysql> SELECT UTC_TIMESTAMP();
+---------------------+
| UTC_TIMESTAMP()     |
+---------------------+
| 2012-07-01 11:36:35 |
+---------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

所以我试过:

CREATE TABLE `blah` (
`creation_time` TIMESTAMP DEFAULT UTC_TIMESTAMP,
...
Run Code Online (Sandbox Code Playgroud)

和其他变体,如UTC_TIMESTAMP(),但没有成功。

mysql syntax timestamp utc-time

41
推荐指数
4
解决办法
14万
查看次数

对于 DST 之前或之后的日期,如何获得 UTC 和本地时间之间的正确偏移量?

我目前使用以下方法从 UTC 日期时间获取本地日期时间:

SET @offset = DateDiff(minute, GetUTCDate(), GetDate())
SET @localDateTime = DateAdd(minute, @offset, @utcDateTime)
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果夏令时发生在GetUTCDate()和之间@utcDateTime@localDateTime最终会休息一个小时。

是否有一种简单的方法可以将非当前日期的日期从 UTC 转换为当地时间?

我使用的是 SQL Server 2005

sql-server-2005 sql-server utc-time timezone

33
推荐指数
5
解决办法
20万
查看次数

如何最好地在 PostgreSQL 中存储时间戳?

我正在研究 PostgreSQL 数据库设计,我想知道如何最好地存储时间戳。

假设

不同时区的用户将使用数据库执行所有 CRUD 功能。

我查看了 2 个选项:

  • timestamp NOT NULL DEFAULT (now() AT TIME ZONE 'UTC')

  • bigint NOT NULL DEFAULT

因为timestamp我会发送一个字符串来表示 INSERT 时刻的确切(UTC)时间戳。

因为bigint我会存储完全相同的东西,但以数字格式存储。(时区问题是在将毫秒移交给服务器之前处理的,因此总是以 UTC 为单位的毫秒。)

存储 a 的一个主要优点bigint可能是它更容易存储和检索,因为传递正确格式的时间戳比简单的数字(自 Unix Epoc 以来的毫秒)更复杂。

我的问题是哪种方法可以实现最灵活的设计,以及每种方法可能存在哪些缺陷。

postgresql datatypes timestamp utc-time timezone

32
推荐指数
2
解决办法
5万
查看次数

具有 AT TIME ZONE 和 UTC 偏移量的奇数

我不明白这两列之间的区别。美国/芝加哥时区是 UTC-6,所以我希望两者都返回相同的结果:

select timezone('America/Chicago', '2017-01-01 12:00:00'::TIMESTAMP AT TIME ZONE 'UTC'),
       timezone('UTC-6'          , '2017-01-01 12:00:00'::TIMESTAMP AT TIME ZONE 'UTC');
Run Code Online (Sandbox Code Playgroud)

然而,结果是:

2017-01-01 06:00:00 | 2017-01-01 18:00:00
Run Code Online (Sandbox Code Playgroud)

而且,这种行为非常尴尬,

SELECT '1:00 -1'::time with time zone AT TIME ZONE '-1'; 
  timezone   
-------------
 03:00:00+01
Run Code Online (Sandbox Code Playgroud)

谁能解释一下?

postgresql timestamp utc-time timezone

7
推荐指数
1
解决办法
3050
查看次数

全球网站 - 我应该保存 UTC 还是固定时间?

假设我有一个全球网站(我的意思是它有来自世界各地的用途)。

我有一台位于德国的服务器(在某个城市)。它永远不会从德国转移——永远。

我的问题是:

当用户保存数据时,我需要保存操作日期:

我应该将它保存(我认为我这样做)UTC吗?

或者因为 - 服务器位于一个位置 - 可以保存所有日期,GetDATE() 因此相对论点是相同的。

我错了吗 ?如果我这样做,你能提供一个简单的场景,它会失败吗?

sql-server utc-time

2
推荐指数
1
解决办法
158
查看次数