将字符串转换为Epoch时间失败,遇TypeError错误求技术解决
解决字符串转Epoch时间的TypeError问题
嗨,我一眼就看到你代码里的小问题啦!你已经用parser.parse()把字符串转换成了datetime.datetime对象,结果后面又把这个现成的datetime对象传给datetime()构造函数,这就触发了错误——datetime()需要的是整数类型的参数(比如年、月、日这类数值),而不是已经构造好的datetime对象哦。
修正后的代码
from datetime import datetime from dateutil import parser dt_str = '2017-01-01 00:00:00' dt = parser.parse(dt_str) print(dt) # 直接调用已有的datetime对象的timestamp()方法即可 print(dt.timestamp())
额外小提示
如果你的日期格式是固定的,其实可以不用依赖dateutil.parser,直接用datetime.strptime()来解析,这样更轻量也更高效:
from datetime import datetime dt_str = '2017-01-01 00:00:00' dt = datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S') print(dt.timestamp())
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

