前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python将日期转换为时间戳_python – 将日期时间转换为时间戳,然后再返回

python将日期转换为时间戳_python – 将日期时间转换为时间戳,然后再返回

作者头像
用户7886150
修改2021-01-19 10:21:08
3.4K0
修改2021-01-19 10:21:08
举报
文章被收录于专栏:bit哲学院

参考链接: 日期时间的Python时间戳,反之亦然

这是一个众所周知的

 Python 3.4 issue:

 >>> from datetime import datetime

 >>> local = datetime(2014, 1, 30, 23, 59, 40, 1999)

 >>> datetime.fromtimestamp(local.timestamp())

 datetime.datetime(2014, 1, 30, 23, 59, 40, 1998)

 注意:微秒消失了. .timestamp()已经返回略小于1999微秒的结果:

 >>> from decimal import Decimal

 >>> local.timestamp()

 1391126380.001999

 >>> Decimal(local.timestamp())

 Decimal('1391126380.0019989013671875')

 >>> from datetime import datetime

 >>> local = datetime(2014, 1, 30, 23, 59, 40, 1999)

 >>> datetime.fromtimestamp(local.timestamp())

 datetime.datetime(2014, 1, 30, 23, 59, 40, 1999)

 要解决此问题,您可以使用显式公式:

 >>> from datetime import datetime, timedelta

 >>> local = datetime(2014, 1, 30, 23, 59, 40, 1999)

 >>> datetime.utcfromtimestamp(local.timestamp())

 datetime.datetime(2014, 1, 30, 23, 59, 40, 1998) # UTC time

 >>> datetime(1970, 1, 1) + timedelta(seconds=local.timestamp())

 datetime.datetime(2014, 1, 30, 23, 59, 40, 1999) # UTC time

 注意:所有示例中的输入都是本地时间,但结果是最后一次的UTC时间.

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档