H5W3
当前位置:H5W3 > 其他技术问题 > 正文

python 时间戳问题

>>> yesterday=(datetime.date.today() - datetime.timedelta(days=0)).strftime('%Y-%m-%d %H:%M:%S')
>>> print yesterday
2018-03-08 00:00:00
>>> time.strptime(yesterday, "%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=67, tm_isdst=-1)
>>> int(time.mktime(time.strptime(yesterday, "%Y-%m-%d %H:%M:%S")))
1520496000

clipboard.png
为啥我打印的和网上转换的不一样呢?

回答:

因为有时区,mktime是本地时区
https://docs.python.org/3/lib…

>>> int(time.mktime(time.strptime('2018-03-08 00:00:00', "%Y-%m-%d %H:%M:%S")))
1520438400    # 北京时间
>>> time.tzname
('CST', 'CST')
>>> time.timezone
-28800    # 8小时
from datetime import datetime
datetime.now().strftime('%Y-%m-%d 23:59:00')

回答:

我运行你的代码得到的是1520438400,跟你截图的结果一样。

1520496000是3月8日16点的时间戳,至于为啥会得到这个结果,我不知道,看看你现在电脑时间,或者你放在别的地方运行一下看看吧。

本文地址:H5W3 » python 时间戳问题

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址