Moduł Date::Simple

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Obsługa modułu Date::Simple

Co to jest

Date::Simple to moduł autorstwa Marty Pauley'a , John Tobey'a oraz Yves Orton'a , służący do różnorakiej obsługi dat. Może być użyty do tworzenia prostych obiektów dat. Kilka możliwości zastosowań:

Ten moduł nie zajmuje się godzinami, minutami, sekundami oraz strefami czasowymi. Data jest jednoznacznie zidentyfikowana przez liczby oznaczające lata, miesiące, dni. Ten moduł nie zezwala na skonstruowanie niepoprawnej daty. Próba konstrukcji niepoprawnej daty zwróci undef. Numeracja miesięcy zaczyna się od 1 odmiennie niż w C czy Java. Lata są czterocyfrowe.

Daty gregoriańskie powyżej roku 9999 są obsługiwane poprawnie, ale Perl polega funkcji localtime, więc na niektórych maszynach możemy się spotkać z ograniczniem do 18 stycznia 2038.

Przeciążanie jest dozwolone, zatem możesz porównywać dwie daty oraz odejmować, używając standardowych operatorów numerycznych, takich jak: ==. Suma daty oraz liczby daje inny obiekt daty.

Obiekty Date::Simple są niezmienne. Po przypisaniu $date1 do $date2, wykonanie zmiany na $date1 nie wywoła zmian na $date2. Oznacza to, że operacja $date++ przypisuje nowy obiekt do $date.

Download

Instalacja w systemie UNIX'owym

Po rozpakowaniu modułu wydajemy polecenia

perl Makefile.PL make make install

Jeżeli wszystko poszło zgodnie z planem, to możemy już korzystać z możliwości naszego nowego modułu. Sprawdzić, czy został pomyślnie zainstalowany możemy, pisząc chociażby takiego jednolinijkowca: perl -e 'use Date::Simple' Pomyślne wykonanie programu (żadnych komunikatów) daje nadzieję, że moduł jest zainstalowany i będzie działał.

Konstruktor

Istnieje siedem funkcji, które pobierają w argumencie ciąg znakowy lub numeryczną reprezentację i generują obiekt daty. Najbardziej ogólnym jest new, którego argument może być: pusty, wówczas zwracana jest aktualna data, ciąg znakowy w formacie YYYY-MM-DD lub YYYYMMDD, listą, referencją do tablicy lat, miesięcy oraz dni podanych numerycznie lub też istniejący już obiekt daty.

Dostępne metody

Użycie operatorów

Niektóre operatory mogą być użyte z instancją klasy Date::Simple. Jeśli jedna strona wyrażenia jest obiektem daty oraz operator oczekuje dwóch obiektów, druga strona jest interpretowana jako date(ARG), zatem referencja do tablicy nadal działa, jak również ISO 8601.

Dodatki - użyteczne funkcje

Przykłady zastosowań modułu Date::Simple

Ten krótki programik wyświetla aktualną datę oraz wypisuje, jaki to jest dzień tygodnia. Jak również oblicza kilka wartości, które nie są wyświetlane na ekran, sprawdza, czy dziś jest Wigilia. use Date::Simple ('date', 'today'); # Difference in days between two dates: $diff = date('2001-08-27') - date('1977-10-05'); # Offset $n days from now: $date = today() + $n; print "$date\n"; # uses ISO 8601 format (YYYY-MM-DD) use Date::Simple (); my $date = Date::Simple->new('1972-01-17'); my $year = $date->year; my $month = $date->month; my $day = $date->day; use Date::Simple (':all'); my $date2 = ymd($year, $month, $day); my $date3 = d8('19871218'); my $today = today(); my $tomorrow = $today + 1; if ($tomorrow->year != $today->year) { print "Today is New Year's Eve!\n"; } if ($today > $tomorrow) { die "warp in space-time continuum"; } print "Today is "; print(('Sun','Mon','Tues','Wednes','Thurs','Fri','Satur')[$today->day_of_week]); print "day.\n";

Dodatkowe informacje

Jest to moduł niezwykle przydatny, gdy ktoś pracuje z datami (tworzenie, przetwarzanie), ponieważ posiada użyteczne metody, które ułatwiają pewne działania.

Macierzysta strona dokumentacji do modułu http://search.cpan.org/~yves/Date-Simple-3.02/lib/Date/Simple.pm#___top

Autor opracowania

Szymon Roziewski

Email: sroziews@manta.univ.gda.pl

Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.