快捷搜索:  汽车  科技

python自制api(帆雨工坊故事Python笑话)

python自制api(帆雨工坊故事Python笑话)倒霉的我最后才去检查timestamp()适用的日期范围。OSError: [Errno 22] Invalid argument于是,我就去检查python的版本、阅读datetime的文档等,明明没错啊,怎么回事呢?使用datetime模块:import datetime str='2022-09-29 21:00:00' temp=datetime.datetime.strptime(str '%Y-%m-%d %H:%M:%S') print(temp.timestamp())这样就可以了,调试的时候很顺利。然而,实际运行的时候就报错了:

我闹了个笑话。

为了实现某个动画的一些效果,需要编个小小的程序,里面有个功能是将日期时间转换为时间戳。

python自制api(帆雨工坊故事Python笑话)(1)

简单讲,就是把字符串“2022年9月29日 21点00分”转换为一个数字。

这是很简单的一个功能,几行代码就能实现。

使用datetime模块:

import datetime str='2022-09-29 21:00:00' temp=datetime.datetime.strptime(str '%Y-%m-%d %H:%M:%S') print(temp.timestamp())

这样就可以了,调试的时候很顺利。

然而,实际运行的时候就报错了:

OSError: [Errno 22] Invalid argument

于是,我就去检查python的版本、阅读datetime的文档等,明明没错啊,怎么回事呢?

倒霉的我最后才去检查timestamp()适用的日期范围。

在程序中处理的日期是1935年2月10日,而timesstamp()能处理的时间不得早于1970年1月1日。

其实我是知道有这么一个起始的时间的,但我懒得记数字,又觉得自己应该不会去处理过去的时间,因此在大脑的记忆里就用“很早的时间”代替了“1970年1月1日”。

这是一个不规范的操作,并在若干年后给我带来了麻烦,浪费了大概1个小时的时间。


timestamp(时间戳)也称为Unix时间 或 POSIX时间,表示从格林尼治时间1970年1月1日8时0分0秒(不同编程语言略有不同)开始到现在所经过的毫秒数(有的编程语言是秒数)。

猜您喜欢: