2010-06-20 22 views

Odpowiedz

19

Proszę bardzo:

>>> print datetime.date.today()-datetime.timedelta(1) 
>>> 2010-06-19 
-1

W skrócie:

  1. Konwersja rok/miesiąc/dzień do liczby.
  2. Odejmij 1 od tego numeru.
  3. Konwersja liczby na rok/miesiąc/dzień.

Znajdziesz localtime i mktime funkcje z modułu time pomocne.

(Również, ponieważ time z modułów zajmuje sekundy, należy odjąć 86400 zamiast 1.)

3

Say zacząć ciąg '2010_05_1'. Następnie podobny ciąg na poprzedni dzień to:

>>> 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' 
>>> 

Oczywiście wszystko to zamkniesz w jedną poręczną funkcję!

1

Można użyć datetime module.

import datetime 
print (datetime.date(year, month, day) - datetime.timedelta(1)).isoformat() 
Powiązane problemy