Obliczanie daty i godziny

0

Witam, tym razem mam problem z obliczaniem ile czasu minęło
w zmiennych mam zapisany rok, miesiac, tydzien, dzien, godzine, minute i sekunde
chcialym od aktualnej daty i godziny odjąć tą w ktora jest w zmiennych
i zapisac do innej zmiennej.

PS. jestem początkujący :)

1

Użyj klasy datetime, różnica między datami to timedelta:

>>> import datetime
>>> date1 = datetime.date(2019, 10, 13) # dzisiaj
>>> date2 = datetime.date(2019, 10, 11) # przedwczoraj
>>> date1 - date2
datetime.timedelta(2)

https://docs.python.org/3/library/datetime.html

0

No dobra spróbowałem odpalic twoj kod i dziala to dobrze tylko że wystarczy zamiast
datetime.timedelta(2) napisac np. datetime.timedelta(56) i sie pokaze 56 days, 000
i oprócz tego zostaje jeszcze obliczenie lat, miesiecy i tygodni.

0

Dobra udalo mi sie zrobic obliczenie dni, godzin, minut, sekund, mikrosekund i milisekund.
Teraz prosze jeszcze o pomoc w latach, miesiacach i tygodniach. :)

0

Zobacz w dokumentacji, powinne być wszystkie atrybuty.
https://stackoverflow.com/questions/2119472/convert-a-timedelta-to-days-hours-and-minutes

0
krysteq28 napisał(a):

Dobra udalo mi sie zrobic obliczenie dni, godzin, minut, sekund, mikrosekund i milisekund.
Teraz prosze jeszcze o pomoc w latach, miesiacach i tygodniach. :)

Z tego co pamiętam datetime nie umie liczyć miesięcy. Spróbuj pendulum.

0
iksde napisał(a):
krysteq28 napisał(a):

Dobra udalo mi sie zrobic obliczenie dni, godzin, minut, sekund, mikrosekund i milisekund.
Teraz prosze jeszcze o pomoc w latach, miesiacach i tygodniach. :)

Z tego co pamiętam datetime nie umie liczyć miesięcy. Spróbuj pendulum.

Czyżby?

>>> import datetime
>>> date1 = datetime.date(2019, 10, 14)
>>> date1.month
10

0
lion137 napisał(a):
iksde napisał(a):
krysteq28 napisał(a):

Dobra udalo mi sie zrobic obliczenie dni, godzin, minut, sekund, mikrosekund i milisekund.
Teraz prosze jeszcze o pomoc w latach, miesiacach i tygodniach. :)

Z tego co pamiętam datetime nie umie liczyć miesięcy. Spróbuj pendulum.

Czyżby?

>>> import datetime
>>> date1 = datetime.date(2019, 10, 14)
>>> date1.month
10

Chodzi o typ timedelta, a nie date/datetime. Pisząc datetime w poprzednim poście miałem na myśli cały moduł :)

0

Ilość miesięcy między dwoma datami możesz policzyć w ten sposób:

import datetime
date1 = datetime.date(2019, 10, 13)
date2 = datetime.date(2019, 8, 11)
print((date1.year - date2.year) * 12 + date1.month - date2.month)

Możesz również zainteresować się modułem https://dateutil.readthedocs.io/en/stable/ który rozszerza możliwości datetime.

1 użytkowników online, w tym zalogowanych: 0, gości: 1