Изменение формата даты и времени в py - PullRequest
0 голосов
/ 10 января 2020

У меня есть следующий код, который дает следующий вывод:

print(df1['Diff'].mean())

вывод:

10 days 16:13:29.467455

Но так как я просто хочу значение дней, а не время, я сделал this:

print(datetime.strptime(df1['Diff'].mean(), format ='%d')

но я получаю следующую ошибку:

                    ^
SyntaxError: unexpected EOF while parsing

Почему я получаю эту ошибку?

Ответы [ 2 ]

1 голос
/ 10 января 2020

Я думаю, что экземпляр df1['Diff'].mean() равен str, а datetime.strptime() можно использовать только в datetime методах. Таким образом, чтобы получить только дату, вы должны взять кусочек df1['Diff'].mean(), как df1['Diff'].mean()[:-14], который в вашем случае.

1 голос
/ 10 января 2020

Для date, time и datetime объектов

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

print(obj.strftime('%d'))

strptime ожидает, что будет передана строка (и вы передавали объект datetime), тогда как strftime форматирует существующий datetime объект.

Для timedelta объектов

print(obj.days)

Получает искомый день.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...