python - 将 ms 转换为 datetime 时应用时区
问题描述
将 ms 解析为 datetime 时是否可以应用时区?
我的解析正在工作,但它显示的是本地时间而不是带有时区的日期时间:
timestamp = datetime.fromtimestamp(float(dt) / 1000.0,
tz=pytz.timezone("America/Sao_Paulo"))
不确定它是否正在发生,因为我的操作系统的时区。
解决方案
不知道问题是什么,它似乎按预期工作。我的当地时间是 09:02,而圣保罗时区显示为 10:02,这似乎是正确的。
>>> import datetime, time, pytz
>>> tz_1 = pytz.timezone("America/Sao_Paulo")
>>> tz_1
<DstTzInfo 'America/Sao_Paulo' LMT-1 day, 20:54:00 STD>
>>> now = time.time()
>>> now
1554382930.1575696
>>> datetime.datetime.fromtimestamp(now)
datetime.datetime(2019, 4, 4, 9, 2, 10, 157570)
>>> datetime.datetime.fromtimestamp(now, tz=tz_1)
datetime.datetime(2019, 4, 4, 10, 2, 10, 157570, tzinfo=<DstTzInfo 'America/Sao_Paulo' -03-1 day, 21:00:00 STD>)
您能否详细说明哪一部分没有按您的预期显示?
推荐阅读
- node.js - 在 New Relic 代理上对 PostgreSQL 的慢查询
- excel - 满足条件时调用宏
- c# - 实体框架 DbSet 未反映对基础数据的最新更改
- typescript - 我在查询 mongodb nodejs 中的集合时需要帮助
- python - 如何计算熊猫的调和平均值
- pdf - Docx4j 导出到 PDF/A-1b - base14 字体嵌入
- python - OpenStack CLI Windows 10“source”和“venv\Scripts\activate”说不被识别为内部或外部命令、可运行程序或批处理文件
- c++ - 如何创建用作队列的节点链表
- javascript - 如何通过 Javascript 中的过滤器对象过滤对象数组?
- ansible - MacAfee-tenable-Nessus rpm 包在使用 Ansible 安装到 Amazon Linux 时失败