当前位置: 首页 > 知识库问答 >
问题:

将Postgres中不带时区的DateTime字段从欧洲中部时间转换为UTC

蒲坚
2023-03-14

我想将一个没有时区的DateTime字段从欧洲中部时间转换为UTC(使用SQL在Postgres中更新)。这里存在一个问题,即DateTime可能是夏令时或冬令时,以便DateTime是utc+1或utc+2。其关键是用边界方法求DST边界。

我试图编写一个存储过程来找到上面提到的DST边界,但除了这个之外,我没有找到任何简单合适的解决方案:https://www.keithf4.com/postgreqldst/

有没有更简单的解决办法?

共有1个答案

卓麒
2023-03-14

这很简单。将其转换为绝对时间戳并返回。如果您正确指定了时区,夏令时将被自动考虑。

对奥地利来说,情况应该是这样的:

SELECT TIMESTAMP '...' AT TIME ZONE 'Vienna/Europe' AT TIME ZONE 'UTC';
 类似资料:
  • 问题内容: 我需要将日期转换为2012-10-15 15:00:21.970的格式 前往欧洲:15/10/2012 15:00:21 前往美国:2012年10月15日下午03:00:21 我无法弄清楚美国转换的时间部分。我可能可以用DATEPART做到这一点,但是此函数将在select语句中格式化时间,因此我试图使其尽可能简单。有任何想法吗? 资源:http://www.w3schools.com

  • 这是我在申请表中得到的日期: 将psqlDate转换为joda的最佳方式是什么? [编辑] 我可以使用解析方法。它可以很好地使用时间戳,它可以使用T-分割日期和时间的信息。 这应该与良好的模式一起工作: 带有时区的PostgreSQL时间戳的正确模式是什么?

  • 返回我女巫是错误的。 但接下来的查询如下: 我看对日期

  • 尝试此获取无效字符串格式问题。谁能帮我一下。

  • 我想把UTC的时间戳转换成Postgres中的毫秒。我在Ruby控制台上使用这个查询(使用Postgres)。我的问题是: 以上查询结果, 2018年7月5日星期四05:05:39 UTC 00:00至1530767139732.35 输出看起来不错,但在“.”之后我不需要35岁。有没有办法得到13位毫秒的输出。 我会很感激你的帮助。

  • 问题内容: 我正在通过使用语法将字段转换为时间。 约会时间 当前输出:时间 我只需要而不是毫秒或0000 如何过滤或将其转换为精确格式。 问题答案: 不以其 显示格式 存储在SQL Server中。 因此,从用户角度来看,您可以说它 没有格式。 当然,由于它确实具有 存储格式 ,因此并不完全准确,但是作为普通用户,您不能真正使用它。 这是所有的日期和时间数据类型真: ,,,,和。 如果您需要格式,