首页 > 解决方案 > 试图从 str 获得一天 10/08/2020

问题描述

我需要从 str 10/08/2020 获取日值。

我从一个包含多年日期的列表中获取日期。我正在使用索引 num 进行一些日期操作。首先,我需要从日期 str 获取第 08 天。

代码段:

 print("Today is = ",re.sub('[^!-~]+',' ',calendarData[i]).strip())
 print("indexTarget is = ",indexTarget)
 dateTarget = re.sub('[^!-~]+',' ',calendarData[indexTarget]).strip()
 print("Target date is = ",dateTarget)
 dayTarget = datetime.strptime(dateTarget,"%d")
 print("Day Target = ",dayTarget)

控制台输出:

Today is =  10/01/2020
indexTarget is =  281
Target date is =  10/08/2020
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\tkinter\__init__.py", line 1702, in __call__
    return self.func(*args)
  File "C:\Users\micha\source\repos\makeAReservation\makeAReservation\makeAReservation.py", line 183, 
in actual_time
    alarm(set_alarm_timer)
  File "C:\Users\micha\source\repos\makeAReservation\makeAReservation\makeAReservation.py", line 173, in alarm
    makeAReservation()
  File "C:\Users\micha\source\repos\makeAReservation\makeAReservation\makeAReservation.py", line 62, in makeAReservation
    getIndex4TagetDate()
  File "C:\Users\micha\source\repos\makeAReservation\makeAReservation\makeAReservation.py", line 46, in getIndex4TagetDate
    dayTarget = datetime.strptime(dateTarget,"%d")
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\_strptime.py", line 565, in _strptime_datetime
    tt, fraction = _strptime(data_string, format)
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\_strptime.py", line 365, in _strptime
    data_string[found.end():])
ValueError: unconverted data remains: /08/2020

标签: python-3.x

解决方案


dateTarget是一个字符串,但是datetime.strprime用于从字符串创建日期对象。由于您已经有一个字符串,您可以将其切片然后打印。

print("Today is = ",re.sub('[^!-~]+',' ',calendarData[i]).strip())
print("indexTarget is = ",indexTarget)
dateTarget = re.sub('[^!-~]+',' ',calendarData[indexTarget]).strip()
print("Target date is = ",dateTarget)

dayTarget = dateTarget[:2]

print("Day Target = ",dayTarget)

推荐阅读