python中datetime函数_python中关于datetime函数,你可能犯过的错

本文介绍Python中使用datetime模块解析日期时常见的错误及解决方案,包括大小写敏感问题、输入格式匹配和异常日期处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python中关于datetime函数,你可能犯过的错

python 错误提示很友好,他总会提醒你在哪一行,有是因为什么犯的错

注意大小写

from datetime import datetime

birthday=input('your birthday:(dd/mm/yyyy)')

birthday_date=datetime.strptime(birthday,'%d/%m/%y')

print('birthday :'+str(birthday_date))

报错如下:

ValueError: time data '& D:/Anaconda3/envs/paddle_env/python.exe f:/workplace-vsc/one/times.py' does not match format '%d/%m/%y'

这个是因为啊 代码的第3行 %d/%m/%y 错了,应该改成 %d/%m/%Y

这里面的y应该是大写d的Y

注意输入格式

from datetime import datetime

birthday=input('your birthday:(dd/mm/yyyy)')

birthday_date=datetime.strptime(birthday,'%d/%m/%Y')

print('birthday :'+str(birthday_date))

报错如下:

your birthday:(dd/mm/yyyy)01012001

Traceback (most recent call last):

File "f:/workplace-vsc/one/times.py", line 5, in birthday_date=datetime.strptime(birthday,'%d/%m/%Y')

File "D:\Anaconda3\envs\paddle_env\lib\_strptime.py", line 577, in _strptime_datetime

tt, fraction, gmtoff_fraction = _strptime(data_string, format)

File "D:\Anaconda3\envs\paddle_env\lib\_strptime.py", line 359, in _strptime

(data_string, format))

ValueError: time data '01012001' does not match format '%d/%m/%Y'

我还在想不应该啊,整个的代码我可以保证是正确的啊,为什么还会报错,明明可以运行,怎么我一输入就有问题。

可以看到,我输入的时候写的是 01012001 而需要填写入的格式为 (dd/mm/yyyy) ,后面报错说的是 not match format 格式不匹配,所以正确的输入格式应给是 01/01/2001 这样才是正确的。你以为成功了?nonono

运行结果如下:

PS F:\workplace-vsc\one> 01/01/2001

0.000499750124937531

满心欢喜,结果还是有问题,遇见这个问题不要慌,没有什么是刷新一下解决不了的,Ctrl+F5重新运行试试。

运行结果如下:

your birthday:(dd/mm/yyyy)01/01/2001

birthday :2001-01-01 00:00:00

虽然成功了,但也还是要手欠一下不是,输入一下超出时间段代码试试

your birthday:(dd/mm/yyyy)15/15/2001

Traceback (most recent call last):

File "f:/workplace-vsc/one/times.py", line 5, in birthday_date=datetime.strptime(birthday,'%d/%m/%Y')

File "D:\Anaconda3\envs\paddle_env\lib\_strptime.py", line 577, in _strptime_datetime

tt, fraction, gmtoff_fraction = _strptime(data_string, format)

File "D:\Anaconda3\envs\paddle_env\lib\_strptime.py", line 359, in _strptime

(data_string, format))

ValueError: time data '15/15/2001' does not match format '%d/%m/%Y'

因为没有15月,找不到对应的格式,所有又报了 does not match format 的错误

这下就知道了 格式错误 首先反省自己的输入。

这样就愉快的解决了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值