Найдите в предыдущий календарный день в Python [дубликат]

14
задан Community 23 May 2017 в 10:31
поделиться

4 ответа

Вот, пожалуйста:

>>> print datetime.date.today()-datetime.timedelta(1)
>>> 2010-06-19
33
ответ дан 1 December 2019 в 06:47
поделиться

Вы можете использовать модуль datetime .

import datetime
print (datetime.date(year, month, day) - datetime.timedelta(1)).isoformat()
3
ответ дан 1 December 2019 в 06:47
поделиться

Вкратце:

  1. Преобразует год / месяц / день в число.
  2. Вычтите 1 из этого числа.
  3. Преобразование числа в год / месяц / день.

Вы найдете полезными функции localtime и mktime из модуля time .

(Кроме того, поскольку модуль time имеет дело с секундами, вы должны вычесть 86400 вместо 1.)

0
ответ дан 1 December 2019 в 06:47
поделиться

Допустим, вы начинаете со строки '2010_05_1 '. Тогда аналогичная строка для предыдущего дня:

>>> import datetime
>>> s = '2010_05_1'
>>> theday = datetime.date(*map(int, s.split('_')))
>>> prevday = theday - datetime.timedelta(days=1)
>>> prevday.strftime('%Y_%m_%d')
'2010_04_30'
>>> 

Конечно, вы объедините все это в одну удобную функцию!

6
ответ дан 1 December 2019 в 06:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: