首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将UTC日期时间转换为UTC纪元

将UTC日期时间转换为UTC纪元
EN

Stack Overflow用户
提问于 2021-11-20 22:38:56
回答 1查看 102关注 0票数 1

我正在从API中提取UTC时间的事务日期。

我的目标是将这个UTC日期时间转换为UTC纪元时间。

目前,看起来像是.timestamp()将datetime的时区更改为我的本地时区。

任何洞察力都是值得感谢的!

代码语言:javascript
复制
INPUT:
# Get timestamp of transaction from events - (Note: events = data from API request)
transaction_time = event['transaction']['timestamp'] 
# Print transaction time value - (Data Type: str)
print("Transaction time:", transaction_time)

# Parse transaction_time
transaction_time_parsed = parser.parse(str(transaction_time))
# Print transaction_time_parsed value - (Data Type: datetime.datetime)
print("Parsed transaction time:", transaction_time_parsed)

# Convert transaction_time_parsed to epoch time and remove decimal
transaction_epoch_time = format((parser.parse(str(transaction_time)).timestamp()), '.0f')
# Print transaction_epoch_time value - (Data Type: str)
print("After .timestamp() & epoch conversion:", transaction_epoch_time)

OUTPUT:
Transaction time: 2021-11-11T23:12:19
Parsed transaction time: 2021-11-11 23:12:19
After .timestamp() & epoch conversion: 1636690339

1636690339转换为:

格林尼治时间: 2021-11-12 4:12:19

您的时区: 2021-11-11 23:12:19 GMT-05:00

EN

回答 1

Stack Overflow用户

发布于 2021-11-20 23:13:02

现在基于MrFuppes [12]的评论解决了这个问题:

如果您没有为Python datetime对象设置时区,它将假定它表示本地时间。这就是为什么您的Unix时间与本地时间的UTC偏移量不一致的原因。因此,通过从datetime模块导入时区的transaction_time_parsed = transaction_time_parsed.replace(tzinfo=timezone.utc)来设置UTC。

另请参阅naive vs. aware datetime上的文档。

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

https://stackoverflow.com/questions/70050416

复制
相关文章

相似问题

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