我完全搞不懂PHP UTC/本地时间转换。有些函数隐式地转换时间,有些则不。啊!
比方说,我有以下PHP代码:
$timestamp = strtotime("2016-05-13 09:26:30"); //From MySQL date format
//$timestamp returned is 1463153190
如果我 1463153190到UTC时间,它就变成了05/13/2016 @ 3:26pm (UTC)。为什么?
如何获得一个函数来将时间从字符串转换为时间戳一对一,而没有任何时区恶作剧?
我在JS中创建了一个日期,如下所示:
var myDate = new Date('2013-01-01 00:00:00');
我假设JS将此作为UTC时间读取。但是,当我执行类似myDate.getTime()的操作时,返回的时间戳类似于格林尼治标准时间凌晨4点。
为什么会这样呢?如何获取UTC时间的午夜日期?
我正在写一个基于web的前端到一个数据库(PHP/Postgresql),其中我需要存储各种日期/时间。时间意味着总是以本地时间在客户端输入,并以本地时间显示。出于存储目的,我将所有日期/时间存储为整数(UNIX时间戳),并将其规范化为UTC。一个特定的字段有一个限制,即填写的时间戳不允许在将来出现,所以我尝试使用数据库约束...
CONSTRAINT not_future
CHECK (timestamp-300 <= date_part('epoch', now() at time zone 'UTC'))
在浏览器和服务器之间时间稍微不同步
我有一个数据集,如下所示:
datetime count
18:28:20.602 UTC DEC 08 2016 1
20:42:32.017 UTC DEC 08 2016 5
15:33:40.691 UTC DEC 08 2016 1
17:11:54.008 UTC DEC 08 2016 3
20:28:57.861 UTC DEC 08 2016 0
.
Unix时间戳是从1970年1月1日午夜开始的秒数。
如何从PostgreSQL获得正确的unix时间戳?
与currenttimestamp.com和timestamp.1e5b.de相比,我无法从PostgreSQL获得预期的时间:
这将返回正确的时间戳:
SELECT extract(epoch from now());
虽然这并不是:
SELECT extract(epoch from now() at time zone 'utc');
我住在UTC +02时区。从PostgreSQL获得当前unix时间戳的正确方法是什么?
这将返回正确的时间和时区:
SELECT
我有一个国际事件的列表,它们的开始日期以unix时间戳格式存储。我想使用moment.js将这些时间转换为用户的本地时间。我正在尝试使用以下命令完成此操作: var example_utc = 1628946000;
// GMT: Saturday, August 14, 2021 1:00:00 PM
// Your time zone: Saturday, August 14, 2021 2:00:00 PM GMT+01:00 DST
// Relative: In 6 days
moment(example_utc); 但是,这将返回: Mon Jan 19 1970 20:1
根据,这是如何将时区应用于timestamp_trunc:
SELECT
timestamp_value AS timestamp_value,
TIMESTAMP_TRUNC(timestamp_value, WEEK(MONDAY), "UTC") AS utc_truncated,
TIMESTAMP_TRUNC(timestamp_value, WEEK(MONDAY), "Pacific/Auckland") AS nzdt_truncated
FROM (SELECT TIMESTAMP("2017-11-06 00:00:00+
存储日期时间的实用方法是什么,这样我就可以让用户查看/查询自己的本地时间的数据,同时保留有关原始日期时间的信息。
基本上,用户希望能够查询(从他们自己的本地时间)从各个时区的系统收集的数据。但偶尔,他们想知道数据是在原始系统中的18:00创建的。当来自世界不同地区的用户就同一事件进行交流时,它会有所帮助。
User1: What? We don't have any data for 20:00
User2: Dude, it says 20:00 right there on my screen.
User1: Wait, what timezone are you? What
我正在使用一段代码,它为我提供了utc时间戳,我希望将它们转换为适当的日期时间。不幸的是,当我使用pytz测试简单案例时,日期时间增加了6个小时( CST偏移到UTC)。我需要保持时区数据正确,因为我也在计算其他时区之间的差异。您知道为什么以及如何将utc时间戳转换为utc日期时间吗?
In [1]: import pytz
In [2]: from datetime import datetime
In [3]: import time
In [4]: datetime.fromtimestamp(time.mktime(datetime(7,1,1, tzinfo=pytz.UTC)
我使用"timestamp with time zone“列类型并设置日期时间,如下所示: INSERT INTO mytable(col1)
VALUES(timestamp with time zone '2020-07-16 17:45:00.000000+00'); 每当我尝试检索我的DateTimes时,它们都会被转换为“本地”类型。 这不是我想要的,它设置为UTC日期时间,我希望它作为UTC返回,我不希望它转换为本地,进入数据库,也不回来…这样做就不可能在不引起歧义的情况下到达UTC。 我已经尝试设置了"PGTZ“环境变量;当连接打开时,我还执行了