我有两个单独的日期和时间字段。时间字段以UTC时间存储。如何将2合并为本地时间的datetime字段
示例:
date: 2021-03-08
time in UTC: 23:00
time zone: GMT+8
我想要2021-03-08 07:00 in local time
甚至是UTC中的2021-03-07 23: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
我正在写一个基于web的前端到一个数据库(PHP/Postgresql),其中我需要存储各种日期/时间。时间意味着总是以本地时间在客户端输入,并以本地时间显示。出于存储目的,我将所有日期/时间存储为整数(UNIX时间戳),并将其规范化为UTC。一个特定的字段有一个限制,即填写的时间戳不允许在将来出现,所以我尝试使用数据库约束...
CONSTRAINT not_future
CHECK (timestamp-300 <= date_part('epoch', now() at time zone 'UTC'))
在浏览器和服务器之间时间稍微不同步
我有一个Django应用程序,需要支持不同的时区。我将事件保存到具有时间戳的数据库中,并根据这些时间戳发送通知。因为用户可以移动到不同的时区,所以我希望将时间戳存储为UTC时间,并在以后将它们转换为用户当前时区。如果我是正确的,PostgreSQL会自动将日期时间转换为UTC?目前,我得到一个错误RuntimeWarning: DateTimeField event.timestamp received a naive datetime (2022-02-15 15:00:00) while time zone support is active.。在保存时间戳时,我经常使用Django的ma
我试图理解AT TIME ZONE的行为,在这方面我发现Server和PostgreSQL之间有一些奇怪的行为差异。
为了演示起见,我产生了两个查询,一个用于Server,另一个用于PostgreSQL。
Server查询:
SELECT
[LocalTime],
[LocalTime] AT TIME ZONE 'W. Europe Standard Time' AS [LocalTimeWithOffset],
([LocalTime] AT TIME ZONE 'W. Europe Standard Time') AT TIME ZONE
我完全搞不懂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)。为什么?
如何获得一个函数来将时间从字符串转换为时间戳一对一,而没有任何时区恶作剧?
我使用"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“环境变量;当连接打开时,我还执行了
如何将时间戳转换为本地时间和日期?
对于这个特定的时间戳,我尝试了以下选项:1594598065352
x <- as.POSIXct(as.numeric(as.character('1594598065352'))/1000, origin="1970-01-01", tz="UTC")
x
"2020-07-12 23:54:25 UTC"
x <- as.POSIXct(as.numeric(as.character('1594598065352'))/1000, origin="19
是否有任何约定可以在数据库中添加本地时区(无论用户将其设置为什么)?
例如,我可以为UTC时间做以下操作:
2014-01-01 01:02:03Z
下面的意思是当地时间吗?
2014-01-01 01:02:03L
或者其他一些后缀,它可以获取用户的系统时间,也可以从可以设置的变量中获取它?例如,类似于(Postgres)的内容:
ALTER DATABASE postgres SET timezone TO 'Europe/Berlin';
我认为信息技术的两大祸害之一是时间戳和时区(另一种是字符编码),其中一种不断地被偶然发现.
在这方面,我目前遇到了一个与存储到PostgreSQL数据库的Java应用程序中的不同时间戳有关的问题。
为了保持简单,假设有以下表:
CREATE TABLE ts_test
(
id integer NOT NULL,
utc timestamp without time zone,
local timestamp with time zone,
CONSTRAINT pk PRIMARY KEY (id)
)
所以,我必须存储一个UTC时间戳和一个本地时间戳,在我的例子中是中欧夏季
我正在使用一段代码,它为我提供了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)
我正在从本地计算机输入时区+5:30的时间。我的TIME_ZONE在settings.py文件中设置为UTC。现在,从django admin输入数据的用户正在输入他自己的本地时区,该时区可能在世界上的任何地方。我正在考虑的是how do I convert this time into UTC before storing it in the DB?我需要存储在数据库中的所有数据只在UTC。有什么想法吗?
几个月以来,我一直在担心这一步,但不可避免的是,我明白了我们目前所处的时间混乱。我知道有很多可用的信息,但我仍然难以将本地时间的概念应用于我的问题:
基本上,我们有一个Postgres数据库,我们存储不同的社交媒体帖子(四方,Flickr等)为了分析。API通常返回Unix时间戳,
问题是:当我们分析这些数据时,我们并不关心UTC,我们需要知道用户在社交媒体上发布的本地时间。例如,假设有人在悉尼当地时间下午4点拍了一张悉尼歌剧院的照片(GMT+10)。我们如何将其存储在Postgres - timestamp with timezone或timestamp without timezone中
我将在我的PostgreSQL数据库中保存日期和时间,并以适当的格式获取并显示给用户。
假设应用程序用户位于伊朗,并使用Jalali日期/时间系统。在上半年,伊朗时间是UTC+04:30,但在剩下的一年里,它是UTC+03:30。事实上,夏令时在伊朗是使用的。
重要:有时会做出决定,并将数据库服务器的位置从伊朗更改到欧洲或其他地方。
现在我有一些问题:
哪种数据类型更方便保存数据??TIMESTAMP (TIMESTAMP WITHOUT TIMEZONE)还是TIMESTAMPZ (TIMESTAMP WITH TIME ZONE)?
哪种数据类型更方便,只节省时间?TIME还是TI