datetime.datetime.utcnow()

既然这datetime明显是UTC datetime,为什么它没有任何时区信息?

我预计这将包含tzinfo个.

推荐答案

这意味着它在时区上太幼稚了,所以你不能用datetime.astimezone

你可以给它一个这样的时区

import pytz  # 3rd party: $ pip install pytz

u = datetime.utcnow()
u = u.replace(tzinfo=pytz.utc) #NOTE: it works only with a fixed utc offset

现在您可以更改时区

print(u.astimezone(pytz.timezone("America/New_York")))

要获取给定时区中的当前时间,可以直接将tzinfo传递给datetime.now():

#!/usr/bin/env python
from datetime import datetime
import pytz # $ pip install pytz

print(datetime.now(pytz.timezone("America/New_York")))

它适用于任何时区,包括遵守夏令时(DST)的时区,也就是说,它适用于可能在不同时间具有不同utc偏移的时区(非固定utc偏移).不要使用tz.localize(datetime.now())——当本地时间不明确时,它可能会在DST转换结束时失败.

Python相关问答推荐

pandas MultiIndex是SQL复合索引的对应物吗?

有没有办法清除气流中的僵尸

在for循环中保存和删除收件箱

解析讨论论坛只给我第一个用户 comments ,但没有给我其他用户回复

当pip为学校作业(job)安装sourcefender时,我没有收到匹配的分发错误.我已经try 过Python 3.8.10和3.10.11

如何在矩阵上并行化简单循环?

如何使用bs 4从元素中提取文本

如何销毁框架并使其在tkinter中看起来像以前的样子?

指示组内的rejected_time是否在creation_timestamp后5分钟内

如何在Python中使用时区夏令时获取任何给定本地时间的纪元值?

将HTML输出转换为表格中的问题

在内部列表上滚动窗口

使用新的类型语法正确注释ParamSecdecorator (3.12)

Pystata:从Python并行运行stata实例

由于NEP 50,向uint 8添加-256的代码是否会在numpy 2中失败?

ModuleNotFound错误:没有名为Crypto Windows 11、Python 3.11.6的模块

如何在polars(pythonapi)中解构嵌套 struct ?

如何获得每个组的时间戳差异?

如何在表中添加重复的列?

Matplotlib中的字体权重