Discuss / Python / 有个疑问为什么timestamp只能设置一定范围,超出会报错

有个疑问为什么timestamp只能设置一定范围,超出会报错

Topic source

天命破凰

#1 Created at ... [Delete] [Delete and Lock User]

nowtime = datetime(1970,1,2,8,0,0) nowtime.timestamp() 一旦输入早过这个时间段就会报错 显示[Errno 22] Invalid argument 是本人的设置环境问题么 datetime.strptime()中的字符串好像是默认符号,其实可以对应修改来着,也不会报错 datetime.strptime('2018:6:1 18:19:59', '%Y:%m:%d %H:%M:%S') 不过估计这个写法容易引起混乱吧

datetime如果不指定UTC,为防止timestamp出现负数,最小时间为零时区的1970-01-02 00:00,对应到北京时间就是1970-01-02 08:00。

如果不想见到这个错误,可以指定UTC: bj_time = datetime(1970,1,1,8,0,0).replace(tzinfo=timezone(timedelta(hours=8))) print(bj_time.timestamp())

第二个文件建议看官方文档,里面已经写清楚了


  • 1

Reply