首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将时间戳转换为postgres时间戳

将时间戳转换为postgres时间戳
EN

Stack Overflow用户
提问于 2018-04-09 07:58:51
回答 2查看 816关注 0票数 0

目前我的时间戳格式如下:

代码语言:javascript
复制
2018-04-02T09:00:00+09:30

如何将上面的时间戳转换为适合postgres的时间戳列,如下所示?

代码语言:javascript
复制
2018-04-02 09:00:00 +09.30

另外,在加载到postgres表之前,如何使用python先转换xml时间戳?

EN

回答 2

Stack Overflow用户

发布于 2018-04-09 08:26:35

这不需要任何转换,它是一个常规的ISO 8601 time stampPostgreSQL supports multiple input formats for time stamps

代码语言:javascript
复制
select timestamp with time zone '2018-04-02T09:00:00+09:30';
      timestamptz       
------------------------
 2018-04-01 18:30:00-05
(1 row)

你会注意到它是以UTC存储的。这就是你想要的。来自the docs,

对于格林威治标准时间,内部存储值始终采用通用协调时间(

,传统上称为格林威治标准时间)。指定了显式时区的输入值将使用该时区的适当偏移量转换为UTC。如果输入字符串中未指定时区,则假定它位于系统的TimeZone参数指示的时区中,并使用该时区的偏移量将其转换为UTC。

输出时区时,始终将其从协调世界时转换为当前时区,并显示为该时区的本地时间。**要查看其他时区的时间,请更改timestamp with time zone value或使用AT TIME ZONE结构(参见第9.9.3节)。

票数 1
EN

Stack Overflow用户

发布于 2018-04-09 08:09:32

如果您知道您将始终以该格式获取数据,则可以执行以下操作:

代码语言:javascript
复制
>>> a = "2018-04-02T09:00:00+09:30"
>>> 
>>> b = a.replace('T', ' ').replace('+', ' +')
>>> b
'2018-04-02 09:00:00 +09:30'

它是丑陋的,但它是有效的。

将输入解释为日期,然后以所需格式打印总是更安全。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49723970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档