Żona z koleżankami startuje nowy kreatywny projekt pt. "Kreatywne pole".
Projekt jest bardziej artystyczny niż techniczny, ale można tam znaleźć sporo ciekawych rzeczy :)
Polecam.
javascript:void(0)
Blog ten ma być pamiątką głupich błędów popełnianych podczas pisania programów. Dla własnej pamięci jak i dla potomnych którzy mogą i pewnie będą popełniać podobne błędy. Może ktoś skorzysta z gotowego rozwiązania problemu.
piątek, 1 kwietnia 2011
środa, 5 stycznia 2011
Startujemy - python a dodawanie dat
Pewnego razu, późnym wieczorem utknąłem na głupim problemie - jak dodać czas do daty. Nie wiem czy było to spowodowane późną porą, ogólnym zmęczeniem czy chwilową zaćmą umysłową, ale czego bym nie próbował po prostu nie wychodziło.
Oczywiście w dokumentacji jest to opisane, ale początkowo byłem bardzo zdziwiony że nie można dodawać do siebie dwóch dat. Chciałem na początek dodać jedną godzinę, minutę i sekundę do daty:
Kończyło się oczywiście błędem powodującym u zmęczonego człowieka święte oburzenie: Jak to się nie da !
W pierwszej chwili zacząłem kombinować, że to pewnie kwestia dodania daty w "b", w sumie niepotrzebnej bo i tak chcę tylko sekundę. Zamieniłem b na:
b = datetime.time(1,1,1)
ale efekt był podobny. Ki diabeł? Kombinowałem na wszelkie możliwe sposoby i nic nie wychodziło W końcu dałem spokój i poszedłem spać.
Rano mnie olśniło! Do tego służy przecież datetime.timedelta !
Oczywiście w dokumentacji jest to opisane, ale początkowo byłem bardzo zdziwiony że nie można dodawać do siebie dwóch dat. Chciałem na początek dodać jedną godzinę, minutę i sekundę do daty:
import datetime a = datetime.datetime(2000,1,1) b = datetime.datetime(2000,1,1,1,1,1) c = a + b Traceback (most recent call last): File "", line 1, in TypeError: unsupported operand type(s) for +: 'datetime.datetime' and 'datetime. datetime'
Kończyło się oczywiście błędem powodującym u zmęczonego człowieka święte oburzenie: Jak to się nie da !
W pierwszej chwili zacząłem kombinować, że to pewnie kwestia dodania daty w "b", w sumie niepotrzebnej bo i tak chcę tylko sekundę. Zamieniłem b na:
b = datetime.time(1,1,1)
ale efekt był podobny. Ki diabeł? Kombinowałem na wszelkie możliwe sposoby i nic nie wychodziło W końcu dałem spokój i poszedłem spać.
Rano mnie olśniło! Do tego służy przecież datetime.timedelta !
b = datetime.timedelta(hours=1, minutes=1, seconds=1) c = a + b print c 2000-01-01 01:01:01
Subskrybuj:
Komentarze (Atom)
