我正在使用Rails4和PostgreSQL v9.6.2,我的问题是我想在Rails中处理输入时区中的datetime,它会正确地存储在PostreSQL中,但当我使用Rails检索它时,时区信息会丢失。
我在PostgreSQL中使用timestamp with time zone,在Rails中使用datetime。例如,当我在PostgreSQL上看到2012-10-26 19:26:00+02时,在Rails上我得到了Fri, 26 Oct 2012 17:26:00 UTC +00:00,这在技术上是相同的日期,但在UTC上,或者没有原始时区。我想从Rails获取存储在Postgr
let timeZone = NSTimeZone.system.description
let localTimeZone = TimeZone.ReferenceType.local.description
let currentTimeZone = TimeZone.current.description
let defaultTimeZone = TimeZone.ReferenceType.default.description
let autoUpdateTimezon = TimeZone.autoupdatingCurrent.description
print ("
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
我有一个日期字段,默认值设置为now。我在日期字段设置中选择了site's timezone。
因此,对于每个用户,日期字段的值应该根据site's timezone。但是在节点表单上,我可以看到,根据用户配置文件表单上设置的时区,每个用户的日期字段值是不同的。
字段值不符合site's timezone的原因。对所有的用户来说应该是一样的。
如果我在区域设置中禁用此设置Users may set their own time zone,那么每件事情都可以正常工作。
我遗漏了什么配置吗?
我有带有PostgreSQL字段的timestamp with time zone数据库表,名为published_date。
我使用psql -U postgres dbname命令访问我的数据库。
当我尝试通过命令更新published_date字段值时:
UPDATE mytable SET published_date='PUBLISHED_DATE' WHERE id=3;
对于相应的PUBLISHED_DATEs,我得到以下结果:
SOURCE -> RESULT
2013-01-16 20:00:00 -> 2013-01-
我想根据babel地区使用时区。我怎样才能做到这一点?我所处的具体情况是为了显示一篇文章的日期和时间以及一种人性化和本地化的方式,例如:
昨天
13时21分
或者,如果设置了瑞典语参数,它将显示。
Ig r
13时21分
如果日期不是昨天或今天,它将打印日期和24小时的时间。我想除了处理时区之外,我一切都成功了:
from webapp2_extras import i18n
from webapp2_extras.i18n import lazy_gettext as _
import datetime
from datetime import date
存储日期时间的实用方法是什么,这样我就可以让用户查看/查询自己的本地时间的数据,同时保留有关原始日期时间的信息。
基本上,用户希望能够查询(从他们自己的本地时间)从各个时区的系统收集的数据。但偶尔,他们想知道数据是在原始系统中的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
这可能是一个简单的问题,因为我在PHP上是新手,我需要在UTC-05:00上创建UTC-05:00,我已经看了一下,大多数示例使用城市的名称来获取时区,例如:
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");
但实际上我不知道UTC-05:00上是什么样的城市(它是动态的,可能是UTC+05:00或其他值),我看到了:
$utcTimeZone = new DateTimeZone("UTC");
正在工作,但:
$myTimeZone = new DateTimeZone("UTC-05:00
通过使用PostgreSQL Python模块psycopg2,我希望找到结束时间在某个时间戳之前的行。我试图在带有cursor.execute(…)的SQL查询上使用… where end_time < %s来实现这一点,其中%s被带有时区的datetime.datetime对象替换。psycopg2生成的SQL是:
select * from my_table where end_time < '2014-05-01T13:00:00+00:00'::timestamptz;
返回如下所示的一行:
id | start_time |
我的团队在2个不同时区的相同数据库上运行相同的查询。查询返回不同的结果。我认为其中一个原因是我使用以下命令将时间戳列转换为日期: to_char(a.event_timestamp,'yyyy-mm-dd'::text) AS "date“ 此转换是否取决于系统的本地日期和时间?我正在测试数据库中以前的数据范围。