Использование функций времени - PullRequest
0 голосов
/ 28 апреля 2020

У меня небольшой вопрос. У меня есть массив, который сохраняет даты в следующем формате.

'01/02/20|07/02/20'

Он сохраняется в виде строки, которая использует дату начала слева от "|" и дата окончания на другой стороне.

Здесь важна только дата окончания, но есть ли функция или алгоритм, который я могу использовать для автоматического расчета разницы в днях и месяцах между now.datetime и датой окончания (правая часть " | ")?

Спасибо всем

Ответы [ 2 ]

2 голосов
/ 28 апреля 2020

datetime.strptime - основная процедура разбора строк на datetime. Он может обрабатывать все виды форматов, причем формат определяется строкой формата, которую вы ему задаете:

In [34]: from datetime import datetime

In [35]: end_date = datetime.strptime(s.split('|')[1], '%d/%m/%y')

In [36]: diff = datetime.now() - end_date

In [37]: diff
Out[37]: datetime.timedelta(days=81, seconds=81712, microseconds=14069)

In [38]: diff.days
Out[38]: 81
1 голос
/ 28 апреля 2020

Возможно, вы ищете что-то подобное.

Python datetime Модуль - это путь к go для такой проблемы

import datetime

dates = '01/02/20|07/02/20'

enddate = dates.split('|')[-1]
# Use %y for 2 digits year else %Y for 4 digit year
enddate = datetime.datetime.strptime(enddate, "%d/%m/%y") 

today = datetime.date.today()
print(abs(enddate.date() - today).days)

Вывод:

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