Pchełki Python: kończymy temat palindromów czasowych

https://xpil.eu/lEE55

Niedawno pisałem o ważnych datach i godzinach palindromicznych, czyli datach (i godzinach), kiedy ilość jednostek czasu od Chwili Zero (rozumianej jako północ 31 grudnia 1899 roku) do danej daty jest liczbą palindromiczną. Niestety, na sekundach poległem, ponieważ ilość sekund, jaka upłynęła od Chwili Zero do dzisiaj jest większa niż dwa miliardy, w związku z czym funkcje typu DATEADD czy też DATEDIFF poszły w maliny (przepełnienie typu INTEGER ze znakiem).

Zgodnie z obietnicą, dziś przedstawię (bardzo krótko, obiecuję!) sposób na wyliczenie najbliższych chwil sekundowo-palindromicznych. Użyję do tego celu Pythona, który radzi sobie z dowolnie wielkimi liczbami bez większych czkawek.

Najpierw sprawdźmy, ile sekund upłynęło od Chwili Zero do dzisiaj:

from datetime import datetime
print(int((datetime.now() - datetime(1899,12,31)).total_seconds()))

Wynik: 3631430258.

Znajdźmy sobie teraz najbliższy tej liczbie palindrom. Zrobimy to ręcznie, ponieważ szukanie najbliższego palindromu za pomocą Pythona, choć możliwe, powiększyłoby nam tę Pchełkę do rozmiarów co najmniej Chomika. A to jest cykl o Pchełkach, a nie o Chomikach.

Najbliższa do 3631430258 liczba palindromiczna to 3631441363. Sprawdźmy teraz, kiedy to wypada:

from datetime import datetime, timedelta
print(datetime(1899,12,31) + timedelta(seconds = 3631441363))

Wynik: 2015-01-27 13:42:43

A więc już za dwie godziny liczba sekund, jaka upłynęła od Chwili Zero, będzie palindromem!

Czy warto tę okazję opijać? Spróbujmy sprawdzić, kiedy wypada następny taki palindrom:

from datetime import datetime, timedelta
print(datetime(1899,12,31) + timedelta(seconds = 3631551363))

Wynik: 2015-01-28 20:16:03

Hm. Pojutrze wieczorem...

Gdybym więc chciał opijać każdy taki sekundowy palindrom, pradopodobnie zbankrutowałbym na alkoholu. Z drugiej strony, mówią, że są dwa sposoby na kaca: nie pić, albo nie trzeźwieć. Z półtoradniowymi odstępami między sekundowymi palindromami, mógłbym z powodzeniem zastosować tę drugą metodę...

Może innym razem.

https://xpil.eu/lEE55

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.