首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python对Luxon Datetime.fromMillis?

Python对Luxon Datetime.fromMillis?
EN

Stack Overflow用户
提问于 2021-12-09 16:23:27
回答 1查看 317关注 0票数 1

我试图理解.utcnow.now在Python的DateTime上使用的含义。

这就是我困惑的原因:我住在法国。现在,我们在UTC时区(冬季的CET时区/夏天的CEST (+2)时区)有一个+1小时。

如果我取以下值:

代码语言:javascript
复制
dt = datetime.datetime.utcnow()
dt.strftime('%c') # Thu Dec  9 16:17:38 2021
int(dt.timestamp()) # 1639063064

这是正确的,因为它是正确的,在法国现在,17h17。因此,根据我的理解,时间戳1639063064是自时代以来的UTC表示。

但是如果我在历代变换器网站上测试这个值,我会得到

  • 格林尼治时间:2021年12月9日星期四15:17:44
  • 您的时区: jeudi 9 décembre 2021 16:17:44 GMT+01:00

该网站似乎也将我的时区减去一个已经“减”的值,最后移除两倍的时区并导致无效的值。

真正的困惑是当我试图将UTC时间戳导入到我的前端应用程序上的鲁迅时,做以下操作不起作用:

代码语言:javascript
复制
DateTime.fromMillis(parseInt(ts), { zone: 'utc' }).toLocal().setLocale('en')

我落后了一个小时。

我如何“告诉”鲁迅当前TS位于UTC时区,调用toLocal将应用适当的用户时区?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-09 16:30:20

似乎网站也在我的时区t上做了减法。

不,epochconverter.com什么也没做。值1639063064确实代表2021-12-09T15:17:44Z。这不是你想要的价值。

我不是Python专家,但我认为问题在于行为 (强调我的)的组合:

使用tzinfo None返回当前的UTC日期和时间。 这类似于now(),但是返回当前的UTC日期和时间,作为一个朴素的datetime对象。

行为

假定朴素日期时间实例表示本地时间,此方法依赖platform C mktime()函数来执行转换。

听起来你想遵循以下建议:

可以通过调用datetime.now(timezone.utc)获得当前UTC的日期时间。

因此,只需将第一行改为:

代码语言:javascript
复制
dt = datetime.now(timezone.utc)

..。应该没问题的。

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

https://stackoverflow.com/questions/70293297

复制
相关文章

相似问题

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