Python -Remove Время из строки Datetime

У меня есть строка даты и вы хотите преобразовать ее в тип даты:

Я попытался использовать datetime.datetime.strptime в формате, который я хочу, но он возвращает время с преобразованием.

when = alldates[int(daypos[0])] print when, type(when) then = datetime.datetime.strptime(when, '%Y-%m-%d') print then, type(then) 

Это результат вывода:

  2013-05-07 <type 'str'> 2013-05-07 00:00:00 <type 'datetime.datetime'> 

Мне нужно удалить время: 00:00:00.

  • ValueError: данные времени '24: 00 'не соответствуют формату'% H:% M '
  • Как удалить неотвернутые данные из объекта datetime Python
  • Формат Наносекунды в Python
  • Как разбирать str (my_datetime) с помощью strptime?
  • Преобразование формата unicode в формат datetime в формате strptime
  • Python ImportError для strptime в spyder для Windows 7
  • Получить дату с номера недели
  • Как я могу указать период (AM / PM) с datetime.strptime?
  • 4 Solutions collect form web for “Python -Remove Время из строки Datetime”

     print then.date() 

    Вам нужен объект datetime.date. У вас есть объект datetime.datetime. Вы можете либо изменить объект при печати в соответствии с приведенным выше, либо сделать следующее при создании объекта:

     then = datetime.datetime.strptime(when, '%Y-%m-%d').date() 
     >>> print then.date(), type(then.date()) 2013-05-07 <type 'datetime.date'> 

    Для меня мне нужно было ХРАНИТЬ объект времени, потому что я использовал UTC, и это немного боль. Итак, это то, что я закончил:

     date = datetime.datetime.utcnow() start_of_day = date - datetime.timedelta( hours=date.hour, minutes=date.minute, seconds=date.second, microseconds=date.microsecond ) end_of_day = start_of_day + datetime.timedelta( hours=23, minutes=59, seconds=59 ) 

    Пример вывода:

     >>> date datetime.datetime(2016, 10, 14, 17, 21, 5, 511600) >>> start_of_day datetime.datetime(2016, 10, 14, 0, 0) >>> end_of_day datetime.datetime(2016, 10, 14, 23, 59, 59) 

    Чтобы преобразовать строку в дату, самым простым способом является AFAIK – модуль dateutil:

     import dateutil.parser datetime_object = dateutil.parser.parse("2013-05-07") 

    Он также может обрабатывать часовые пояса:

     print(dateutil.parser.parse("2013-05-07")) >>> datetime.datetime(2013, 5, 7, 1, 12, 12, tzinfo=tzutc()) 

    Если у вас есть объект datetime, скажите:

     import pytz import datetime now = datetime.datetime.now(pytz.UTC) 

    и вы хотите отрубить часть времени, тогда я думаю, что легче построить новый объект вместо «вычитания временной части». Он короче и более пуленепробиваемый:

     date_part datetime.datetime(now.year, now.month, now.day, tzinfo=now.tzinfo) 

    Он также хранит информацию о часовом поясе, ее легче читать и понимать, чем приведение timedelta, и вы также можете дать другой часовой пояс на одном и том же этапе (что имеет смысл, поскольку в любом случае у вас будет нулевая часть времени) ,

    Python - лучший язык программирования в мире.