Преобразование строкового объекта в объект даты в Python

У меня есть строковый объект

value="2020-02-28" 

и хотите вывести как объект даты в python. Использовал

datetime_value= datetime.strptime((str(value), "%b%d, %Y")) 

Но это не работает.


person Manoj    schedule 28.02.2020    source источник
comment
Отвечает ли это на ваш вопрос? Преобразование строки в тип даты на Python   -  person pk786    schedule 28.02.2020


Ответы (2)


Внесите эти незначительные изменения:

from _datetime import datetime

value="2020-02-28"
datetime_value= datetime.strptime(value, "%Y-%m-%d")

print(datetime_value, type(datetime_value))
# 2020-02-28 00:00:00 <class 'datetime.datetime'>
person Vikas P    schedule 28.02.2020

Во-первых, фраза «это не работает» на самом деле бесполезна ни в каком виде, ни в какой форме. Когда вы запрашиваете помощь, предоставление реальной обратной связи, которую вы получаете (например, сообщение об ошибке, трассировка и т. д.), значительно более действенно, чем предоставление... ничего.

Во-вторых, строка формата, переданная в strptime (второй параметр), должна соответствовать фактической дате, это означает, что заполнители должны анализировать поля, которые вы пытаетесь сопоставить, а не-заполнители должны соответствовать не-полям.

Здесь ваша дата {year}-{month}-{day-of-month}, но строка формата %b%d, %Y обозначает< /а> {Month as locale’s abbreviated name}{Day of the month}, {Year}. Ни один из разделителей, полей или порядка не совпадает.

Вам нужно %Y-%m-%d.

В-третьих, value — это строка, почему вы снова преобразуете ее в строку?

person Masklinn    schedule 28.02.2020