Streszczenie:

Moduł kalendarza w Python to wbudowany moduł, który zapewnia funkcje do pracy z datami i czasami. Pozwala generować kalendarze i wykonywać operacje związane z kalendarem. Moduł używa kalendarza gregoriańskiego i obsługuje formatowanie wyjścia kalendarza w formacie tekstowym i HTML.

1. Co zapewnia moduł kalendarza?
Moduł kalendarza zapewnia funkcje do pracy z datami i godzinami, w tym generowanie kalendarzy i wykonywanie operacji związanych z kalendarzem.
2. Jaki jest format kalendarza używanego w module?
Moduł używa kalendarza gregoriańskiego, który jest rozszerzony w obu kierunkach na czas nieokreślony. Pierwszy dzień tygodnia to poniedziałek (wartość 0), a ostatni dzień tygodnia to niedziela (wartość 6).
3. Jak wyświetlić kalendarz na określony miesiąc?
Możesz skorzystać z funkcji miesiąca (roku, miesiąca), w której „rok” i „miesiąc” to odpowiednio pożądany rok i miesiąc. Ta funkcja zwróci dobrze formatowane wyjście kalendarza określonego miesiąca.
4. Jak wyświetlić kalendarz na określony rok?
Możesz użyć funkcji kalendarza (roku), w której „rok” to pożądany rok. Ta funkcja zwróci dobrze sformatowane wyjście kalendarza określonego roku, z odpowiednim odstępem między miesięcy.
5. Jakie są trzy klasy w module kalendarza?
Trzy klasy w module kalendarza to kalendarz, textCalendar i htmlcalendar. Kalendarz i TextCalendar są używane do generowania kalendarzy w formacie tekstowym, podczas gdy htmlcalendar służy do generowania kalendarzy w formacie HTML.
6. Jak możesz utworzyć obiekt kalendarza za pomocą klasy kalendarza?
Możesz utworzyć obiekt kalendarza za pomocą klasy kalendarza. Ta klasa zapewnia metody przygotowywania danych kalendarzowych do formatowania. Formatowanie odbywa się według podklas klasy kalendarzowej.
7. Co robi metoda iterweekdays ()?
Metoda iterweekdays () jest używana do iteracji w ciągu dni powszednie. Zwraca iterator, który reprezentuje listę liczb dni powszednie.
8. Co robi metoda miesięcznika ()?
Metoda MiesiącaDaysCalendar () zwraca listę pełnych tygodni, w której każdy tydzień jest listą dni miesiąca. Ta metoda jest przydatna do generowania dobrze ustrukturyzowanego kalendarza z wszystkimi dniami miesiąca.
9. Jak możesz utworzyć kalendarz tekstowy za pomocą klasy TextCalendar?
Możesz utworzyć kalendarz tekstowy za pomocą klasy TextCalendar. Ta klasa tworzy obiekt kalendarza tekstowego, który można edytować w razie potrzeby. Metoda Formatonth () zwraca miesięczny kalendarz w ciągłym ciągu.
10. Jak możesz utworzyć kalendarz HTML za pomocą klasy HTMLCalendar?
Możesz utworzyć kalendarz HTML za pomocą klasy HTMLCalendar. Ta klasa tworzy obiekt kalendarza HTML. Metoda Formatonth () zwraca miesięczny kalendarz w postaci tabeli HTML.
11. Jak sprawdzić, czy rok to rok skokowy?
Możesz użyć funkcji ISLeap (rok), aby sprawdzić, czy rok to rok skokowy, czy nie. Funkcja zwraca prawdziwie, jeśli rok jest rok skokowy, a inaczej.
12. Jak możesz uzyskać skrócone nazwiska w dni powszednie?
Możesz użyć funkcji Weekheader (N), aby uzyskać nagłówek zawierający skrócone nazwy w dni powszednie. Argument „N” określa szerokość postaci na jeden dzień powszedni.
13. Jakie inne przydatne funkcje zapewnia moduł?
Moduł zapewnia różne inne przydatne funkcje, takie jak sprawdzanie lat skokowych, uzyskiwanie nazwisk i nie tylko. Możesz zapoznać się z oficjalną dokumentacją, aby uzyskać pełną listę funkcji i ich użycie.
14. Jakie są pewne rozszerzenia dla kodu VS i pycharm, które mogą poprawić kodowanie?
Niektóre rozszerzenia, które mogą poprawić kodowanie w VS Code i PyCharm, obejmują Sourcery do natychmiastowych sugestii refaktoryzacji i PYSAAS dla tworzenia firm oprogramowania szybciej z czystym Pythonem.
15. Jaki jest wniosek tego samouczka na module kalendarza w Python?
W tym samouczku omówiliśmy moduł kalendarza w Python, który zapewnia funkcje do pracy z datami i godzinami. Zbadaliśmy, jak generować kalendarze w różnych formatach, takich jak tekst i HTML. Dodatkowo omówiliśmy klasy kalendarza, textCalendar i HTMLCalendar w celu uzyskania bardziej drobnej kontroli nad formatowaniem kalendarza.

Kalendarz-funkcje ogólne związane z kalendarzem

Wydrukuje miesiąc’kalendarz s zwrócony według miesiąca () .

Moduł kalendarza w Python

Moduł kalendarza to wbudowany moduł w Python. Można go zaimportować z kalendarza modułu . Zapewnia funkcje do pracy z datami i godzinami. Może być używany do generowania kalendarzy i operacji związanych z kalendarem. Możesz sformatować kalendarz i wysyłać go w formacie tekstowym lub HTML.

Ten moduł wykorzystuje wyidealizowany kalendarz I.mi. obecny kalendarz gregoriański, który jest rozszerzony w obu kierunkach na czas nieokreślony. Kalendarz ma pierwszy dzień tygodnia jako poniedziałek (wartość – zaczyna się od 0), a ostatni dzień tygodnia jako niedziela (wartość – kończy się na 6).

Zobaczmy, jak możesz użyć modułu kalendarza w Python.

Wyświetl kalendarz miesiąca roku.¶

W powyższym przykładzie funkcja miesiąca przyjmuje dwa argumenty, rok i miesiąc. Otrzymujesz dobrze sformatowaną moc kalendarza miesiąca.

Wyświetl kalendarz roku.¶

W powyższym przykładzie funkcja kalendarza przyjmuje jeden argument, rok. Zwraca dobrze sformatowaną wydajność kalendarza roku z odpowiednim odstępem między miesiącami.

Istnieją trzy klasy w module kalendarzowym. Oni są Kalendarz, TextCalendar, I Htmlcalendar. Pierwsze dwie klasy służą do generowania kalendarzy w formacie tekstowym. Trzecia klasa służy do generowania kalendarzy w formacie HTML. Zobaczmy, jak możesz korzystać z tych klas.

Klasa kalendarzowaiel

Klasa kalendarza tworzy obiekt kalendarza, który zapewnia różne metody przygotowania danych kalendarzowych do formatowania. Formatowanie odbywa się przez podklasy klasy kalendarzowej, ale nie przez samą klasę. Zobaczmy, jak możesz korzystać z klasy kalendarza.

1.) Metody iterweekdays ()

Zwraca iterator, który jest listą liczb dni powszednie.

2.) Metoda miesięcznie

Zwraca listę pełnych tygodni, a co tydzień to lista dni miesiąca.

Widziałeś dwie metody klasy kalendarza, ale jest więcej metod. Jeśli chcesz dowiedzieć się więcej o metodach klasy kalendarzowej, możesz zapoznać się z oficjalną dokumentacją klasy kalendarza.

TextCalendar Classiel

Klasa TextCalendar służy do generowania kalendarzy w formacie prostym. Ta klasa tworzy obiekt kalendarza tekstowego. W tej klasie możesz także edytować kalendarz. Zobaczmy, jak możesz użyć klasy TextCalendar.

1.) Metoda formatonth ()

Zwraca miesięczny kalendarz w wieloletnim ciągu.

Powyższa funkcja wymaga czterech argumentów, roku, miesiąca, szerokości kolumn daty i liczby linii tygodniowo. Zwraca dobrze sformatowaną moc kalendarza miesiąca.

2.) Metoda PRMONTH ()

Drukuje miesięczny kalendarz, zwracany metodą Formatonth (). Wymaga takich samych argumentów, jak metoda formatonth (). Możesz zmienić dane wyjściowe, zmieniając argumenty. Ta metoda pozwala uniknąć potrzeby instrukcji drukowania.

W powyższym przykładzie szerokość kolumn daty wynosi 6, a liczba linii tygodniowo to 3. Jeśli chcesz dowiedzieć się więcej o metodach klasy TextCalendar, możesz zapoznać się z oficjalną dokumentacją klasy TextCalendar.

Htmlcalendar classiel

Klasa HTMLCalendar służy do generowania kalendarzy w formacie HTML. Ta klasa tworzy obiekt kalendarza HTML. Zobaczmy, jak możesz użyć klasy HTMLCalendar.

1.) Metoda formatonth ()

Zwraca miesięczny kalendarz w formie tabeli HTML.

W powyższym przykładzie rok to 2022, a miesiąc to 5. Metoda Formatonth () zwraca dobrze sformatowany kalendarz HTML miesiąca. Jeśli chcesz dowiedzieć się więcej o metodach klasy HTMLCalendar, możesz zapoznać się z oficjalną dokumentacją klasy HTMLCalendar.

Prosty kalendarz tekstowy

Ten moduł zapewnia różne przydatne funkcje, które różnią się od powyższych klas. Zobaczmy niektóre z nich:

1.) Sprawdź rok skokowy

Funkcja ISLeap () sprawdza, czy rok jest rokiem, czy nie. Funkcja bierze jeden argument, rok. Zwraca prawdę, jeśli rok jest rokiem skoku, a inaczej.

2.) Zdobądź skrócone nazwy w dni powszednie

Funkcja Weekheader () zwraca nagłówek zawierający skrócone nazwy w dni powszednie. Funkcja przyjmuje argument n, który określa szerokość znaków na jeden dzień powszedni.

Istnieją różne inne metody w module. Więcej informacji można zapoznać się z oficjalną dokumentacją.

Wniosek¶

W tym samouczku omówiliśmy moduł kalendarza w Python. Moduł kalendarza zapewnia funkcje generowania kalendarzy w różnych formatach. Możesz użyć modułu kalendarza do generowania kalendarzy w formatach HTML i tekstu. Omówiliśmy również klasę HTMLCalendar i klasę TextCalendar.

Darmowe vs kod / rozszerzenia pycharmów, których używam

✅ Zapisz kod czystszy z krajem, natychmiastowe refaktoryzacja sugestie: link*

PYSAAS: Zestaw startowy Pure Python Saas

�� Szybciej zbuduj firmę oprogramowania z czystym Pythonem: link*

* To są link partnerski. Klikając go, nie będziesz mieć żadnych dodatkowych kosztów. Zamiast tego wesprzesz mój projekt. Dziękuję! ��

Kalendarz-funkcje ogólne związane z kalendarzem

Ten moduł umożliwia wyprowadzanie kalendarzy takich jak UNIX cal program i zapewnia dodatkowe przydatne funkcje związane z kalendarzem. Domyślnie te kalendarze mają poniedziałek jako pierwszy dzień tygodnia, a niedziela jako ostatnia (konwencja europejska). Użyj setFirstWeekday (), aby ustawić pierwszy dzień tygodnia na niedzielę (6) lub na dowolny inny dzień powszedni. Parametry, które określają daty, są podawane jako liczby całkowite. Aby uzyskać powiązane funkcjonalność, zobacz także moduły datetime i czasowe.

Funkcje i klasy zdefiniowane w tym module używają wyidealizowanego kalendarza, obecny kalendarz gregoriański rozszerzył się na czas nieokreślony w obu kierunkach. To odpowiada definicji “Proletic Gregorian” Kalendarz w Dershowitz i Reingold’Książę S “Obliczenia kalendarzowe”, gdzie to’s kalendarz podstawowy dla wszystkich obliczeń. Zero i lata negatywne są interpretowane zgodnie z zaleceniami standardu ISO 8601. Rok 0 to 1 pne, rok -1 to 2 pne i tak dalej.

klasa kalendarz. Kalendarz ( Pierwszy dzień = 0 ) ¶

Tworzy obiekt kalendarza. Pierwszy dzień jest liczbą całkowitą określającą pierwszy dzień tygodnia. Poniedziałek to 0 (domyślnie), niedziela to 6 .

Obiekt kalendarza zawiera kilka metod, które można wykorzystać do przygotowywania danych kalendarzowych do formatowania. Ta klasa nie’t. To jest praca podklas.

Instancje kalendarza mają następujące metody:

Zwróć iterator na liczby tygodniowe, które będą używane przez tydzień. Pierwsza wartość z iteratora będzie taka sama, jak wartość nieruchomości First First Day.

iTermonthates ( rok , miesiąc ) ¶

Zwróć iterator na miesiąc miesiąc (1–12) w roku rok. Ten iterator powróci przez wszystkie dni (jako dateTime.obiekty datowane) na miesiąc i przez kilka dni przed rozpoczęciem miesiąca lub po zakończeniu miesiąca, które są zobowiązane do uzyskania pełnego tygodnia.

iTermonthDays rok , miesiąc ) ¶

Zwróć iterator na miesiąc miesiąc w roku rok podobne do iTermonthDates (), ale nie ograniczone przez DateTime.zakres dat. Dni zwrócone będą po prostu liczbami dnia miesiąca. W dniach poza określonym miesiącem liczba dnia wynosi 0 .

iTermonthDays2 ( rok , miesiąc ) ¶

Zwróć iterator na miesiąc miesiąc w roku rok podobne do iTermonthDates (), ale nie ograniczone przez DateTime.zakres dat. Dni zwrócone będą krotki składające się z dnia miesiąca i liczby tygodniowej.

iTermonthDays3 ( rok , miesiąc ) ¶

Zwróć iterator na miesiąc miesiąc w roku rok podobne do iTermonthDates (), ale nie ograniczone przez DateTime.zakres dat. Dni powróciły to krotki składające się z roku, miesiąca i dzień liczby miesięcy.

Nowy w wersji 3.7.

iTermonthDays4 ( rok , miesiąc ) ¶

Zwróć iterator na miesiąc miesiąc w roku rok podobne do iTermonthDates (), ale nie ograniczone przez DateTime.zakres dat. Dni powróciły będą krotki składające się z roku, miesiąca, dnia miesiąca i liczbą dnia tygodnia.

Nowy w wersji 3.7.

miesiącDatesCalendar ( rok , miesiąc ) ¶

Zwróć listę tygodni w miesiącu miesiąc z rok jako pełne tygodnie. Tygodnie to listy siedmiu datetime.Obiekty daty.

Miesiącz2Calendar ( rok , miesiąc ) ¶

Zwróć listę tygodni w miesiącu miesiąc z rok jako pełne tygodnie. Tygodnie to listy siedmiu krotek liczb dziennych i liczb w dni powszednie.

Miesiącz Kalendar ( rok , miesiąc ) ¶

Zwróć listę tygodni w miesiącu miesiąc z rok jako pełne tygodnie. Tygodnie to listy siedmiodniowych liczb.

roleDatescalendar rok , szerokość = 3 ) ¶

Zwróć dane dla określonego roku gotowe do formatowania. Wartość zwracania to lista miesięcznych wierszy. Każdego miesiąca zawiera się do szerokość miesiące (domyślnie do 3). Każdy miesiąc zawiera od 4 do 6 tygodni, a co tydzień zawiera 1–7 dni. Dni są datetime.Obiekty daty.

Coroczne 2calendar ( rok , szerokość = 3 ) ¶

Zwróć dane na określony rok gotowy do formatowania (podobny do YearDatesCalendar ()). Wpisy w tygodniowych listach to krotki liczb dziennych i liczby w dni powszednie. Liczby dzienne poza tym miesiącem są zerowe.

caledyscalendar ( rok , szerokość = 3 ) ¶

Zwróć dane na określony rok gotowy do formatowania (podobny do YearDatesCalendar ()). Wpisy w tygodniowych listach to liczby dzienne. Liczby dzienne poza tym miesiącem są zerowe.

klasa kalendarz. TextCalendar ( Pierwszy dzień = 0 ) ¶

Ta klasa może być używana do generowania zwykłych kalendarzy tekstowych.

Instancje TextCalendar mają następujące metody:

formatMonth ( rok , miesiąc , W = 0 , L = 0 ) ¶

Powrót miesiąc’kalendarz s w ciągach wieloletnich. Jeśli w jest dostarczany, określa szerokość kolumn daty, które są wyśrodkowane. Jeśli L jest podany, określa liczbę linii, z których będzie korzystać każdy tydzień. Zależy od pierwszego dnia powszedniego, jak określono w konstruktorze lub ustawiony metodą setFirstWeekDay ().

Wydrukuj miesiąc’kalendarz s, zwracany przez formatonth () .

Zwrot a M-Kalendarz kolumny przez cały rok jako ciąg wieloletni. Opcjonalne parametry w, L, I C są odpowiednio dla szerokości kolumny daty, linii tygodniowo i liczbą przestrzeni między kolumnami miesiąca. Zależy od pierwszego dnia powszedniego, jak określono w konstruktorze lub ustawiony metodą setFirstWeekDay (). Najwcześniejszy rok, dla którego można wygenerować kalendarz, jest zależny od platformy.

Wydrukuj kalendarz przez cały rok, co zwrócono według Formatyear () .

klasa kalendarz. Htmlcalendar Pierwszy dzień = 0 ) ¶

Ta klasa może być używana do generowania kalendarzy HTML.

Instancje htmlcalendar mają następujące metody:

formatMonth ( rok , miesiąc , withYear = true ) ¶

Powrót miesiąc’kalendarz S jako tabela HTML. Jeśli z rokiem jest prawdą, że rok zostanie uwzględniony w nagłówku, w przeciwnym razie nazwa miesiąca zostanie użyta.

formatycznie ( rok , szerokość = 3 ) ¶

Wróć rok’kalendarz S jako tabela HTML. szerokość (domyślnie do 3) określa liczbę miesięcy na rząd.

FormatyeRpage ( rok , szerokość = 3 , css = ‘kalendarz.CSS ‘ , kodowanie = brak ) ¶

Wróć rok’kalendarz s jako kompletna strona HTML. szerokość (domyślnie do 3) określa liczbę miesięcy na rząd. CSS to nazwa użycia arkusza stylów kaskadowych. Żadnego nie można przekazać, jeśli nie należy użyć arkusza stylów. kodowanie Określa kodowanie do użycia dla wyjścia (domyślnie domyślne kodowanie systemu).

Htmlcalendar ma następujące atrybuty, które możesz zastąpić, aby dostosować klasy CSS używane przez kalendarz:

Lista klas CSS używanych na każdy dzień powszedni. Domyślna lista klas to:

CSSClasses = [[[„Mon”, „Wt”, "poślubić", „Czw”, „Fri”, „SAT”, "słońce"] 

Więcej stylów można dodać na każdy dzień:

CSSClasses = [[[„MON Tekst”, „Wt”, "poślubić", „Czw”, „Fri”, „SAT”, „Sun Red”] 

Zauważ, że długość tej listy musi być siedem elementów.

Klasa CSS na dzień powszedni w poprzednim lub nadchodzącym miesiącu.

Nowy w wersji 3.7.

cssclasses_weekday_head ¶

Lista klas CSS używanych do nazwisk w dni powszednie w wierszu nagłówka. Domyślnie jest taki sam jak CSSClasses .

Nowy w wersji 3.7.

cssclass_month_head ¶

Miesiąc’S Głowa klasa CSS (używana przez formatonthname ()). Wartość domyślna to „miesiąc” .

Nowy w wersji 3.7.

cssclass_month ¶

Klasa CSS przez cały miesiąc’Tabela s (używana przez formatonth ()). Wartość domyślna to „miesiąc” .

Nowy w wersji 3.7.

cssclass_year ¶

Klasa CSS przez cały rok’S tabela tabel (używana przez Formatyear ()). Wartość domyślna to „rok” .

Nowy w wersji 3.7.

cssclass_year_head ¶

Klasa CSS dla stołu przez cały rok (używany przez Formatyear ()). Wartość domyślna to „rok” .

Nowy w wersji 3.7.

Zauważ, że chociaż nazywanie wyżej opisanych atrybutów klasowych jest osobliwe (e.G. CSSCLASS_MONTH CSSCLASS_NODAY), można zastąpić pojedynczą klasę CSS na oddzieloną przestrzeń listę klas CSS, na przykład:

„RED-RED Tekst” 

Oto przykład, w jaki sposób można dostosować htmlcalendar:

klasa CustomHtmlcal(kalendarz.Htmlcalendar): CSSClasses = [[[styl + „Text-Nowrap” Do styl W kalendarz.Htmlcalendar.CSSClasses] cssclass_month_head = „Miesiąc centralny tekst” cssclass_month = „Miesiąc centralny” cssclass_year = „Ołówka tekstowa” 

klasa kalendarz. Lokalizacja Pierwszy dzień = 0 , lokalizacja = brak ) ¶

Ta podklasa TextCalendar może zostać przekazana nazwa regionu w konstruktorze i powróci do nazwisk miesiąca i dni powszednie w określonej lokalizacji.

klasa kalendarz. Localehtmlcalendar Pierwszy dzień = 0 , lokalizacja = brak ) ¶

Ta podklasa htmlcalendar może zostać przekazana nazwa lokalizacji w konstruktor.

Konstruktor, FormatWeekDay () i FormatMonthName () tych dwóch klas tymczasowo zmieniają regionę LC_Time na podane widownia. Ponieważ obecna lokalizacja jest ustawieniem całego procesu, nie są one bezpieczne dla wątków.

W przypadku prostych kalendarzy tekstowych ten moduł zawiera następujące funkcje.

kalendarz. setFirstWeekDay ( dzień powszedni ) ¶

Zestawiają dzień powszedni (0 to poniedziałek, 6 to niedziela), aby rozpocząć co tydzień. Wartości poniedziałek, wtorek, środa, czwartek, piątek, sobota i niedziela są dostarczane dla wygody. Na przykład, aby ustawić pierwszy dzień powszedni do niedzieli:

import kalendarz kalendarz.SetFirstWeekDay(kalendarz.NIEDZIELA) 

kalendarz. Pierwszy dzień () ¶

Zwraca obecne ustawienie na dzień powszedni co tydzień.

kalendarz. Isleap ( rok ) ¶

Zwraca prawdziwie, jeśli rok to rok skokowy, w przeciwnym razie fałszywy .

kalendarz. przeskakiwać ( Y1 , y2 ) ¶

Zwraca liczbę lat skokowych w zakresie od Y1 Do y2 (wyłączne), gdzie Y1 I y2 Są lata.

Ta funkcja działa dla zakresów zmieniających się w wieku.

kalendarz. dzień powszedni rok , miesiąc , dzień ) ¶

Wraca dzień tygodnia (0 to poniedziałek) dla rok (1970 -…), miesiąc (1–12), dzień (1–31).

kalendarz. Weekheader ( N ) ¶

Zwróć nagłówek zawierający skrócone nazwy w dni powszednie. N Określa szerokość postaci na jeden dzień powszedni.

kalendarz. miesiącRange ( rok , miesiąc ) ¶

Zwraca dzień powszedni pierwszego dnia miesiąca i liczbę dni w miesiącu, dla określonych rok I miesiąc.

kalendarz. Monthalendar ( rok , miesiąc ) ¶

Zwraca matrycę reprezentującą miesiąc’S Kalendarz. Każdy rząd reprezentuje tydzień; Dni poza miesiącem są reprezentowane przez ZEROS. Każdy tydzień zaczyna się od poniedziałku, chyba że ustalono przez setFirstweekday () .

kalendarz. Pronth ( rok , miesiąc , w = 0 , L = 0 ) ¶

Wydrukuje miesiąc’kalendarz s zwrócony według miesiąca () .

kalendarz. miesiąc ( rok , miesiąc , w = 0 , L = 0 ) ¶

Zwraca miesiąc’kalendarz s w ciągach wieloletnich za pomocą formatonth () klasy TextCalendar.

Wydrukuje kalendarz na cały rok, co zwróciło przez Calendar () .

kalendarz. kalendarz ( rok , w = 2 , L = 1 , C = 6 , M = 3 ) ¶

Zwraca 3-kolumnowy kalendarz na cały rok jako ciąg wieloliniowy za pomocą Formatyear () klasy TextCalendar.

kalendarz. timegm ( Tuple ) ¶

Niezwiązana, ale poręczna funkcja, która zajmuje czas, taką jak zwrócona przez funkcję GMTIME () w module czasu, i zwraca odpowiednią wartość znacznika czasu UNIX, zakładając epokę z 1970 r., Oraz kodowanie POSIX. W rzeczywistości czas.gmtime () i timegm () są nawzajem’ odwrotność.

Moduł kalendarza eksportuje następujące atrybuty danych:

Tablica reprezentująca dni tygodnia w obecnej lokalizacji.

Tablica reprezentująca skrócone dni tygodnia w obecnej lokalizacji.

Tablica reprezentująca miesiące roku w obecnej lokalizacji. Następuje to normalna konwencja stycznia, która jest numerem 1 miesiąc, więc ma długość 13 i nazwę miesiąca [0] to pusty ciąg.

Tablica reprezentująca skrócone miesiące roku w obecnej lokalizacji. Następuje to normalna konwencja stycznia, która jest numerem 1, więc ma długość 13 i miesiąc_abbr [0] to pusty ciąg.

kalendarz. Poniedziałek kalendarz. Wtorek kalendarz. Środa ¶ Kalendarz. Czwartek ¶ kalendarz. Piątek ¶ kalendarz. Sobota kalendarz. NIEDZIELA ¶

Aliasy dla liczb dziennych, gdzie poniedziałek to 0, a niedziela 6 .

Interfejs obiektowy do dat i czasów o podobnej funkcjonalności jak moduł czasowy.

Funkcje związane z czasem niskiego poziomu.

Moduł kalendarza w Python

Moduł kalendarza pomaga w pracy z kalendarzami I.mi. daty, miesiące i lata w Python. Ten moduł umożliwia również użytkownikowi sformatowanie (upiększanie) kalendarza zgodnie z ich wymaganiami i wysyłanie go w postaci tekstu lub w HTML.

Zakres

  • W tym artykule omówiono podstawy modułu kalendarzowego w Pythonie wraz z przykładami.
  • Mówi także o klasach TextCalendar i Htmlcalendar.
  • Ten artykuł nie zawiera szczegółowych szczegółów każdej funkcji w klasach.

Wprowadzenie do modułu kalendarza w Python

Jeśli chcesz założyć osobistą planistę, a może ćwiczyć swój problem kodowania dnia, Twój przyjazny język węża w ogrodzie Python cię objęty. Jak to?

Python ma wbudowany moduł o nazwie moduł kalendarza, który pozwala na wykonywanie operacji związanych z datą, miesiącem i kalendarz.

Moduł kalendarza w Pythonie wykorzystuje wyidealizowany kalendarz, który jest obecnym kalendarzem gregoriańskim . Jest rozszerzany w obu kierunkach (przeszłość i przyszłość) w nieskończoność. Te kalendarze mają pierwszy dzień tygodnia jako poniedziałek i ostatni dzień tygodnia jako niedziela.

Na przykład, Spójrz na zdjęcie poniżej, w którym mamy miesiąc sierpnia 2019 r., Począwszy od poniedziałku i kończąc w niedzielę.

Miesiąc sierpnia

Teraz w tym module kalendarza w Python masz 2 klasy – klasa TextCalendar i klasa htmlcalendar, której można użyć do edytowania kalendarza zgodnie z Twoimi wymaganiami. Później dostaniemy te szczegóły, najpierw przyjrzyjmy się, jak wyświetlić kalendarz danego roku i miesiąca.

Najpierw musimy zaimportować moduł kalendarza, zadeklarować określony rok i miesiąc, a następnie wydrukować kalendarz za pomocą funkcji „miesiąc” w module kalendarza. Funkcja miesiąca zajmuje rok i miesiąc jako wkład i wyprowadza dobrze formatowany miesiąc, i.mi. z odpowiednim odstępem między kolumnami, jak widać w poniższym przykładzie.

import kalendarz rok = 2022 miesiąc = 3 wydrukować(kalendarz.miesiąc) 

Wyjście:

 Marsz 2022 Mo tu my we fr su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 

Jak widać, na wyjściu mamy pięknie sformatowany miesiąc, który rozpoczyna się w poniedziałek. Możesz zmienić rok i miesiąc, aby sam to przetestować.

Teraz, jeśli chcesz wydrukować kalendarz całego roku, możesz skorzystać z funkcji „kalendarza” w module kalendarza w Python. Zajmie to rok jako dane wejściowe .

import kalendarz rok = 2022 wydrukować(kalendarz.rok kalendarzowy)) 

Przetestuj go na komputerze, aby wyświetlić cały kalendarz na rok 2022.

Klasa kalendarza

Spójrzmy teraz na klasę kalendarza modułu kalendarza w Python. Ta klasa tworzy obiekt kalendarza, który zapewnia nam wiele metod, które można wykorzystać do przygotowania danych kalendarzowych do celów formatowania . Formatowanie nie jest wykonywane przez samą klasę, mamy różne podklasy, takie jak htmlcalendar, klasa TextCalendar i prosta klasa kalendarza.

Korzystając z klasy kalendarza, możemy wykonywać obliczenia dla różnych zadań opartych na miesiącach, datach i latach. Oto metody klasy kalendarza:

Funkcjonować Opis
iterweekdays () Dla wszystkich liczb tygodniowych, które będą używane przez tydzień, jeden iterator jest zwracany
iTermonthDates () Zwracany jest iterator na wszystkie miesiące od 1 do 12 w roku
iTermonthDays () Zwraca to iterator miesiąca i roku
iTermonthDays2 () Ta funkcja jest podobna do poprzedniej, jednak zwraca dni w postaci krotek, które składają się z dnia miesiąca i tygodnia
iTermonthDays3 () Ta funkcja jest podobna do iTermonthDates () i zwraca iterator na miesiąc roku, ale podobnie jak iTermonthDays2 (), zwraca dni w formie krotek składających się z liczb roku i dnia miesiąca
miesiącDatesCalendar () Funkcja zwraca listę tygodni określonego miesiąca, przy czym każdy tydzień jest listą datetime.Obiekty czasowe, które mają 7 liczby (7 dni w tygodniu).
Miesiącz2Calendar () Ta funkcja jest taka sama jak miesiącDatesCalendar (), jednak tutaj tygodnie to krotki dziennego i tygodniowego
Miesiącz Lista tygodni w określonym miesiącu tego roku jest zwracana. Tutaj tygodnie to listy 7 -dniowych liczb
YearDatesCalendar () Lista wierszy miesięcznych jest zwracana, która jest zasadniczo danymi na określony rok, gotowy do sformatowania
rok 2calendar () Ta funkcja jest podobna do funkcji YearsDatesCalendar (), jednak tygodnie są sformatowane w postaci krotów liczb dziennych i dni powszednich
rok Podobnie jak YearDatesCalendar (), ta funkcja ma wpisy tygodnia jako listy liczb dziennych. Liczby każdego dnia, które są poza tym miesiącem, mają wartość 0

Aby lepiej zrozumieć wszystkie te funkcje, zaleca się wypróbowanie ich samodzielnie i zobaczenie ich wyników.

Spójrz na wdrożenie funkcji MonthAdatesCalendar ():

# Zaimportuj moduł import kalendarz # Następnie musi utworzyć obiekt klasy kalendarza cal = kalendarz.Kalendarz (Firsteekday =0) rok = 2022 miesiąc = 3 wydrukować(Cal.miesiącDatesCalendar (rok, miesiąc)) 

Wyjście:

*[[datetime.data(2022, 2, 28), DateTime.data(2022, 3, 1), DateTime.data(2022, 3, 2), DateTime.data(2022, 3, 3), DateTime.data(2022, 3, 4), DateTime.data(2022, 3, 5), DateTime.data(2022, 3, 6)], [DateTime.data(2022, 3, 7), DateTime.data(2022, 3, 8), DateTime.data(2022, 3, 9), DateTime.data(2022, 3, 10), DateTime.data(2022, 3, 11), DateTime.data(2022, 3, 12), DateTime.data(2022, 3, 13)], [DateTime.data(2022, 3, 14), DateTime.data(2022, 3, 15), DateTime.data(2022, 3, 16), DateTime.data(2022, 3, 17), DateTime.data(2022, 3, 18), DateTime.data(2022, 3, 19), DateTime.data(2022, 3, 20)], [DateTime.data(2022, 3, 21), DateTime.data(2022, 3, 22), DateTime.data(2022, 3, 23), DateTime.data(2022, 3, 24), DateTime.data(2022, 3, 25), DateTime.data(2022, 3, 26), DateTime.data(2022, 3, 27)], [DateTime.data(2022, 3, 28), DateTime.data(2022, 3, 29), DateTime.data(2022, 3, 30), DateTime.data(2022, 3, 31), DateTime.data(2022, 4, 1), DateTime.data(2022, 4, 2), DateTime.data(2022, 4, 3)]]* 

Jak widać na powyższym wyjściu, mamy listę list. Każda lista zawiera 7 datetime.datować obiekty każdego dnia w tygodniu 3 2022 i.mi. Marca 2022 r. Lista zewnętrzna oznacza miesiąc, a każda lista w środku oznacza tydzień.

Klasa TextCalendar

Kolejną klasą obecną w module kalendarza jest kalendarz. Klasa TextCalendar, która ma funkcje, które pomagają w generowaniu zwykłych kalendarzy tekstowych. Zrobiliśmy podobną rzecz bez korzystania z klasy TextCalendar na początku, kiedy wydrukowaliśmy miesiąc roku 2022, jednak z tą klasą będziesz mógł edytować kalendarz i używać go zgodnie z Twoim wymaganiem.

Poniżej znajdują się funkcje dostępne w kalendarzu.Klasa TextCalendar:

Funkcjonować Opis
Formatonth () Ta metoda jest używana do uzyskania obiektu kalendarza miesiąca w postaci ciągów multilinę. Taki sam jak kalendarz.Miesiąc, jednak możesz edytować liczbę linii tygodniowo i pierwszego tygodnia i szerokość kolumn daty
pronth () Jest to funkcja pomocnika używana do drukowania kalendarza zwracanego przez formatonth ()
Formatyear () Podobnie jak metoda Formatonth (), pozwala nam to uzyskać kalendarz całego roku, z M kolumny (musisz określić M w parametrach wejściowych)
Pryear () Ta metoda jest również pomocnikiem, który pomaga w drukowaniu obiektu zwróconego metodą Formatyear ()

Spójrz na przykładowe wdrożenie metod Formatonth () i PRMONTH ():

# Moduł importu import kalendarz # Utwórz obiekt text_cal = kalendarz.TextCalendar (Firsteekday =0) rok = 2022 miesiąc = 3 Text_cal.formatontent (rok, miesiąc, w =0, L =0) Text_cal.PRMONTH (rok, miesiąc, w =0, L =0) 

Wyjście:

 Marsz 2022 Mo tu my we fr su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 

Możesz zobaczyć, że metoda wyjściowa z miesiąca bezpośrednio drukuje kalendarz miesiąca. Możesz także wprowadzić zmiany w wartości W i L, aby zobaczyć odstępy w zmianie kalendarza.

Klasa Htmlcalendar

Moduł kalendarza ma inną klasę, zwaną klasą htmlcalendar, która generuje kod kalendarzy w HTML.

Ma następujące metody:

metoda Opis
Formatonth () Ta metoda zwraca kalendarz określonego miesiąca w postaci tabeli HTML
Formatyear () Ta metoda zwraca kalendarz określonego roku w postaci tabeli HTML
FormatyeRpage () Za pomocą tej metody możemy uzyskać pełny rok kalendarza jako kompletną stronę HTML

Spójrzmy na przykład metody Formatonth ():

# Zaimportuj moduł import kalendarz # Utwórz obiekt html_cal = kalendarz.Htmlcalendar (Firsteekday =0) rok = 2022 miesiąc = 3 wydrukować(html_cal.formatontent (rok, miesiąc)) 

Wyjście:

&bdquo;0&rdquo; CELPADING =&bdquo;0&rdquo; SKAKUJĄCE CELL =&bdquo;0&rdquo; klasa= "miesiąc"> tr>th Colspan= "7" klasa= "miesiąc">Marsz 2022th>tr> tr>th klasa= "mon">Month>th klasa= "Wt">Wtth>th klasa= "poślubić">Poślubićth>th klasa= "Czw">Czwth>th klasa= "pt">Ptth>th klasa= "Sat">Satth>th klasa= "słońce">Słońceth>tr> tr>TD klasa= "GOINAY"> &nbsp;TD>TD klasa= "Wt"> 1TD>TD klasa= "poślubić"> 2TD>TD klasa= "Czw"> 3TD>TD klasa= "pt"> 4TD>TD klasa= "Sat"> 5TD>TD klasa= "słońce"> 6TD>tr> tr>TD klasa= "mon"> 7TD>TD klasa= "Wt"> 8TD>TD klasa= "poślubić"> 9TD>TD klasa= "Czw"> 10TD>TD klasa= "pt"> 11TD>TD klasa= "Sat"> 12TD>TD klasa= "słońce"> 13TD>tr> tr>TD klasa= "mon"> 14TD>TD klasa= "Wt"> 15TD>TD klasa= "poślubić"> 16TD>TD klasa= "Czw"> 17TD>TD klasa= "pt"> 18TD>TD klasa= "Sat"> 19TD>TD klasa= "słońce"> 20TD>tr> tr>TD klasa= "mon"> 21TD>TD klasa= "Wt"> 22TD>TD klasa= "poślubić"> 23TD>TD klasa= "Czw"> 24<
/TD>TD klasa= "pt"> 25TD>TD klasa= "Sat"> 26TD>TD klasa= "słońce"> 27TD>tr> tr>TD klasa= "mon"> 28TD>TD klasa= "Wt"> 29TD>TD klasa= "poślubić"> 30TD>TD klasa= "Czw"> 31TD>TD klasa= "GOINAY"> &nbsp;TD>TD klasa= "GOINAY"> &nbsp;TD>TD klasa= "GOINAY"> &nbsp;TD>tr> tabela> 

Marca 2022 r
Mon Wt Poślubić Czw Pt Sat Słońce
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

Proste kalendarze tekstowe

Teraz, gdy omówiliśmy klasy dostarczone przez moduł kalendarza, spójrzmy na niektóre z pomocnych metod w prostym module kalendarzowym, które są oddzielone od powyższych dwóch klas .

metoda Opis
setFirstweekday () Ta metoda służy do ustawienia pierwszego dnia tygodnia. Dni tygodnia znajdują się w funkcji jako poniedziałek, wtorek . Niedziela dla wygody możesz jednak skorzystać z liczb 0–6, gdzie 0 jest poniedziałek i 6
Pierwszy dzień () Dzięki zastosowaniu tej metody możemy uzyskać obecny dzień powszedni, który jest ustawiony jako pierwszy dzień tygodnia
isLeap () Jak sugeruje nazwa metody, mówi nam, czy rok jest skakany, czy nie. Zwraca prawdę, jeśli rok jest rokiem skokowym i fałszywy, jeśli nie
SKAKDAYS () Ta metoda zwraca liczbę lat skokowych obecnych w określonym zakresie lat podanych jako dane wejściowe.
dzień powszedni() Ta metoda zwraca dzień tygodnia w danym terminie. Na przykład 15 maja 2016 r. Jako dane wejściowe do tej metody powróci 6 = niedziela
Weekheader () Możemy użyć tej metody, aby uzyskać nagłówek zawierający nazwy dni powszednie w formacie skróconym
miesiącRange () Ta metoda zwraca dzień powszedni pierwszego dnia miesiąca i liczbę dni w tym miesiącu jako krotność na określony rok i miesiąc podany jako wkład
miesiącCalendar () Zwraca matrycę reprezentującą kalendarz miesiąca, w którym każdy rząd jest reprezentatywny w tygodniu, a dni poza określonym miesiącem są reprezentowane jako zero
pronth () Ta metoda służy do wydrukowania kalendarza miesiąca z formatowaniem zgodnie z użytkownikiem. Użytkownik może sformatować szerokość między dwiema kolumnami i liczbą pustych linii między wierszami
miesiąc() Zwraca kalendarz miesiąca w formacie ciąg wielopasmowego
prcal () Służy do wydrukowania kalendarza pełnego roku z opcjami formatowania wyjścia
kalendarz() Ta metoda jest taka, jak omówiliśmy na początku artykułu, używany do wydrukowania kalendarza 3 -kolumnowego roku

Przetestujmy metodę isLeap ():

# Zaimportuj moduł import kalendarz rok = 2022 wydrukować(kalendarz.IsLeap (rok)) 

Wyjście:

FAŁSZ 

Wypróbuj metody wszystkich tych klas samodzielnie, aby lepiej zrozumieć moduł kalendarza w Python. Teraz wiesz, że wszystko jest w module kalendarza.

Wniosek

  • Moduł kalendarza pomaga w pracy z kalendarzami w Python . Ten moduł umożliwia również użytkownik sformatowanie kalendarza zgodnie z jego wymaganiami i wyprowadzenie go w postaci tekstu lub w HTML.
  • Ma następujące klasy - kalendarz, textCalendar i klasa htmlcalendar.
    • Klasa HTMLCalendar służy do generowania kalendarzy w HTML
    • Klasa TextCalendar służy do tworzenia zwykłych kalendarzy tekstowych

    Kliknij tutaj, aby dowiedzieć się więcej o Format () w Python.

    Program Python do wyświetlania kalendarza

    Python ma wbudowaną funkcję, kalendarz do pracy z zadaniami związanymi z datą. W tym przykładzie nauczysz się wyświetlać kalendarz danej daty.

    Aby zrozumieć ten przykład, powinieneś mieć wiedzę na temat następujących tematów programowania Pythona:

    • Moduły Pythona
    • Programowanie w Python wbudowane funkcje

    W poniższym programie importujemy moduł kalendarza. Wbudowany miesiąc funkcji () wewnątrz modułu obejmuje rok i miesiąc i wyświetla kalendarz na ten miesiąc roku.

    Kod źródłowy

    # Program wyświetlany kalendarz danego miesiąca i roku # Importowanie kalendarza kalendarza Kalendarza.miesiąc (yy, mm)) 

    Wyjście

     Listopad 2014 MO TU We We Th Fr Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 

    Możesz zmienić wartość zmiennych YY i MM i uruchomić ją, aby przetestować ten program dla innych dat.