Moduł datetime
dostarcza metodę date.isocalendar
, która, biorąc pod uwagę datę, zwraca ją w formacie ([year], [week], [weekday])
. Jak mogę cofnąć? Biorąc pod uwagę krotkę ([year], [week], [weekday])
, jak mogę uzyskać obiekt date
?Python: Przeciwieństwo `datetime.date.isocalendar()`
Odpowiedz
EDIT Znaleziony pytanie roztworem: What's the best way to find the inverse of datetime.isocalendar()?
Moje rozwiązanie miał błędy. W googlowaniu zobaczyłem poprzednie pytanie, które po testach działało poniżej. (Zobacz odpowiedź na to pytanie w powyższym linku do definicji iso_to_gregorian
). (Zasadniczo znaleźć iso datę rozpoczęcia roku, a następnie użyć timedelta znaleźć aktualną datę z dziennym i tygodniowym numer.
for i in range(-10000,10000,1):
x = datetime.datetime.today().date() + datetime.timedelta(i)
x_iso = datetime.datetime.isocalendar(x)
assert iso_to_gregorian(*x_iso) == x
Spróbuj tego na "1999,1,1". Ty będziesz tydzień wolny ... –
Yup jak tylko to przetestowałem, zdałem sobie sprawę, że mam błędy. Dyskusja nad pytaniem o stackoverflow z 2008 r. Zawiera powody, dla których przypadki brzegowe nie działały i ma stosunkowo proste rozwiązanie. –
+1 za znalezienie właściwej odpowiedzi :) –
- 1. JavaScript - przeciwieństwo toString()?
- 2. przeciwieństwo polecenia "git status"
- 3. Funkcjonalne przeciwieństwo płaskiej mapy?
- 4. Jak zrobić przeciwieństwo diff?
- 5. Czym jest przeciwieństwo "jest"?
- 6. zmienne php tablicy - przeciwieństwo "wyciąg"
- 7. Przeciwieństwo zakładki w dół strony?
- 8. Przegrupuj dataframe do stołu, przeciwieństwo „topić”
- 9. Scal (przeciwieństwo podziału) para wierszy r
- 10. Czy występuje przeciwieństwo metody LINQ's All?
- 11. Python - jak mogę dynamicznie usunąć metodę z klasy - tj. Przeciwieństwo setattr
- 12. Czy w Visual Studio występuje przeciwieństwo "przejdź do definicji"?
- 13. ctrl-x o do tyłu (przeciwieństwo innego-okna)?
- 14. przeciwieństwo "top" w serwerze sql, bez użycia celu przez, nie ma kluczy/indeksów
- 15. Python - Virtualenv, python 3?
- 16. Python generujący python
- 17. Python kontra Iron Python
- 18. Python python kategorię według kolumny
- 19. python 2.7 vs python 3.1
- 20. python 2.6 lub python 3.1?
- 21. Python * do zwiększenia :: python :: obiekt
- 22. Python 2 i Python 3 __cmp__
- 23. Python skrypt exe na python 3.5
- 24. Python Sniffing z książki Black Hat Python
- 25. różnica między python 2.7.3 i python 3.3
- 26. Jak przedłużyć moduł python? (python-twitter)
- 27. Python - Jak wyciąć napis w języku Python?
- 28. Python time.sleep
- 29. Python functools.namedtuple
- 30. Python dziesiętny
Hot d * MN, jest to bardziej skomplikowane niż myślałem na początku. Tydzień 1 tydzień, który zawiera pierwszy rok kalendarzowy * Czwartek *!?! –
Haha Witamy w świecie kalendarzy, ciesz się pobytem :) –
Mam dokuczliwe podejrzenie, że istnieje bardzo dobry powód, dla którego ta funkcja nie jest dostępna w Bibliotece Standardowej :) –