Advertisement
orborbson

zmiana_czasu(letni-zimowy).py

Nov 18th, 2024 (edited)
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.97 KB | Source Code | 0 0
  1. import time
  2.  
  3. # sprawdza czy rok jest przestępny
  4. def rok_przestepny(rok):
  5.     return int((rok % 4 == 0 and rok % 100 != 0) or (rok % 400 == 0))
  6.  
  7. # podaje dzień ostatniej niedzieli miesiąca
  8. def ost_ndz_mies(rok, miesiac):
  9.     ile_dni = [31, 28 + rok_przestepny(rok), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
  10.     data = time.localtime(time.mktime((rok, miesiac, 1, 0, 0, 0, -1, -1)))
  11.     dzien = 6 - data[6] + 1
  12.     return dzien + (28 if dzien + 28 <= ile_dni[miesiac - 1] else 21)
  13.  
  14. # porównuje czasy, zwraca: 1 (czas letni), 0 (czas zimowy)
  15. def czas_letni(rok, miesiac, dzien, godzina, minuta, sekunda):
  16.     aktualny = time.mktime((rok, miesiac, dzien, godzina, minuta, sekunda, -1, -1))
  17.     letni = time.mktime((rok, 3, ost_ndz_mies(rok, 3), 2, 0, 0, -1, -1))
  18.     zimowy = time.mktime((rok, 10, ost_ndz_mies(rok, 10), 3, 0, 0, -1, -1))
  19.     return int(letni <= aktualny < zimowy)
  20.  
  21. czas = czas_letni(2024, 10, 27, 3, 0, 0)
  22. print("czas:", "letni" if czas else "zimowy")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement