palio.modules
Class Time

java.lang.Object
  extended by palio.modules.core.Module
      extended by palio.modules.Time
All Implemented Interfaces:
palio.Constants, palio.modules.core.CurrentModuleDataKeys

public class Time
extends palio.modules.core.Module
implements palio.Constants

Moduł udostępnia funkcje do manipulacji na obiektach typu Date.

Moduł jest dostępny w każdej instancji jPalio.

Version:
1.0.25
Author:
Mateusz Gembarzewski

Field Summary
 
Fields inherited from interface palio.Constants
DECIMAL_ZERO, INTEGER_ONE, LONG_MINUS_ONE, LONG_ONE, LONG_THREE, LONG_TWO, LONG_ZERO, STRING_EMPTY
 
Fields inherited from interface palio.modules.core.CurrentModuleDataKeys
DESIGNER_ACTIONS_BUFFER, HTML_FORM_BUILDER, HTML_MAP_BUILDER, HTML_MENU_BUILDER, HTML_TOOLTIPS_BUFFER, ITEXT_DOCUMENT, MAIL_MESSAGE, XLS_DOCUMENT, XML_DOCUMENT
 
Constructor Summary
Time(palio.Instance instance, java.util.Properties parameters)
           
 
Method Summary
static java.util.Date addDay(java.util.Date date)
          Dodaje jeden dzień do podanej daty.
static java.util.Date addDays(java.util.Date date, java.lang.Long days)
          Dodaje określoną ilość dni do podanej daty.
static java.util.Date addWeek(java.util.Date date)
          Dodaje jeden tydzień do podanej daty.
static java.util.Date addWeeks(java.util.Date date, java.lang.Long weeks)
          Dodaje określoną ilość tygodni do podanej daty.
static java.lang.Boolean after(java.util.Date date1, java.util.Date date2)
          Sprawdza czy data podana jako pierwszy parametr jest późniejsza niż data podana jako drugi parametr.
static java.lang.Boolean before(java.util.Date date1, java.util.Date date2)
          Sprawdza czy data podana jako pierwszy parametr jest wcześniejsza niż data podana jako drugi parametr.
static java.lang.Object[] compareByField(java.util.Date date1, java.util.Date date2)
          Zwraca różnicę pomiędzy datami w postaci tablicy [różnica w latach, miesiącach, dniach, godzinach, minutach, sekundach] przy czym pola związane z czasem są wyzerowane (porównywany jest tylko dzień).
static java.lang.Object[] compareByField(java.util.Date date1, java.util.Date date2, java.lang.Boolean includeTime)
          Zwraca różnicę pomiędzy datami w postaci tablicy [różnica w latach, miesiącach, dniach, godzinach, minutach, sekundach].
static java.lang.Long dayOfWeek()
          Zwraca aktualny dzień tygodnia.
static java.lang.Long dayOfWeek(java.util.Date date)
          Zwraca dzień tygodnia dla podanej daty.
static java.lang.String defaultFormat()
          Zwraca standardowy format daty w postaci tekstu.
static void forEachDay(java.lang.String paramName, java.util.Date dateFrom, java.util.Date dateTo, palio.compiler.PalioCode code)
          Wykonuje kod code kolejno dla każdego dnia z podanego zakresu.
static java.lang.Long get(java.util.Date date, java.lang.String fieldName)
          Zwraca wybrane pole wyciągniete z podanej daty.
 java.lang.String getVersion()
          Returns the module version
static java.lang.Object nameOfDay(java.util.Date date, java.lang.Object[] names)
          Wybiera z tablicy nazw dni tygodnia nazwę odpowiadającą dniu z podanej daty.
static java.lang.String nameOfDayPL(java.util.Date date)
          Zwraca polską nazwę dnia tygodnia dla podanej daty.
static java.util.Date now()
          Zwraca aktualny czas systemowy w postaci daty.
static java.util.Date roll(java.util.Date date, java.lang.String unit, java.lang.Long amount)
          Przesuwa podaną datę o zadaną ilość jednostek czasu, bez zmiany wyższej jednostki.
static java.util.Date setTime(java.util.Date date, java.lang.String time)
          Zwraca podaną datę z dowolnie ustalonym czasem.
static java.util.Date shift(java.util.Date date, java.lang.String unit, java.lang.Long amount)
          Zwraca aktualną datę przesuniętą o podaną ilość jednostek czasu.
static java.util.Date shift(java.lang.String unit, java.lang.Long amount)
          Zwraca aktualną datę przesuniętą o podaną ilość jednostek czasu.
static java.util.Date sysDate()
          Zwraca aktualny czas systemowy w postaci daty.
static java.util.Date toDate(java.lang.Long millis)
          Zwraca datę utworzoną z podanej liczby milisekund jakie upłynęły od dnia 1 stycznia 1970 roku.
static java.util.Date today()
          Zwraca aktualną datę z wyzerowanym czasem.
static java.util.Date today(java.lang.String time)
          Zwraca aktualny dzień z dowolnie ustawionym czasem.
static java.lang.Long toMillis()
          Zwraca aktualny czas systemowy w postaci liczby milisekund jakie upłynęły od dnia 1 stycznia 1970 roku.
static java.lang.Long toMillis(java.util.Date date)
          Zwraca ilość milisekund jakie upłynęły od dnia 1 stycznia 1970 roku do podanej daty.
static java.util.Date tomorrow()
          Zwraca jutrzejszą datę z wyzerowanym czasem.
static java.util.Date tomorrow(java.lang.String time)
          Zwraca aktualny dzień z dowolnie ustawionym czasem.
static java.util.Date truncateTime(java.util.Date date)
          Obcina czas w podanej dacie
static java.lang.Object[] weekDates(java.util.Date date)
          Zwraca tablicę dat dla całego tygodnia, w której zawiera się podana data.
 
Methods inherited from class palio.modules.core.Module
getConfigParam, getDescription, getModuleTranslation
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Time

public Time(palio.Instance instance,
            java.util.Properties parameters)
Method Detail

getVersion

public java.lang.String getVersion()
Description copied from class: palio.modules.core.Module
Returns the module version

Specified by:
getVersion in class palio.modules.core.Module

toMillis

public static java.lang.Long toMillis(java.util.Date date)
Zwraca ilość milisekund jakie upłynęły od dnia 1 stycznia 1970 roku do podanej daty.

Parameters:
date - Data
Returns:
Liczba milisekund lub null jak date = null

toMillis

public static java.lang.Long toMillis()
Zwraca aktualny czas systemowy w postaci liczby milisekund jakie upłynęły od dnia 1 stycznia 1970 roku.

Returns:
Liczba milisekund

toDate

public static java.util.Date toDate(java.lang.Long millis)
Zwraca datę utworzoną z podanej liczby milisekund jakie upłynęły od dnia 1 stycznia 1970 roku.

Returns:
Data

defaultFormat

public static java.lang.String defaultFormat()
Zwraca standardowy format daty w postaci tekstu.

Returns:
Format daty

sysDate

public static java.util.Date sysDate()
Zwraca aktualny czas systemowy w postaci daty. Taki sam efekt można uzyskać pisząc $sysDate().

Returns:
Aktualna data
See Also:
now()

now

public static java.util.Date now()
Zwraca aktualny czas systemowy w postaci daty. Taki sam efekt można uzyskać pisząc $sysDate().

Returns:
Aktualna data
See Also:
sysDate()

today

public static java.util.Date today()
Zwraca aktualną datę z wyzerowanym czasem. Funkcja jest przydatna do porównywania różnych dat, w szczególności w SQL.

Returns:
Dzisiejsza data

tomorrow

public static java.util.Date tomorrow()
Zwraca jutrzejszą datę z wyzerowanym czasem. Funkcja jest przydatna do porównywania różnych dat, w szczególności w SQL.

Returns:
Jutrzejsza data
Since:
jPALIO 7.4.108

today

public static java.util.Date today(java.lang.String time)
                            throws java.text.ParseException
Zwraca aktualny dzień z dowolnie ustawionym czasem. Funkcja jest przydatna do porównywania różnych dat, w szczególności w SQL.

Parameters:
time - Czas w formacie HH:mm:ss
Returns:
Dzisiejsza data
Throws:
java.text.ParseException - jeśli podano godzinę w złym formacie

tomorrow

public static java.util.Date tomorrow(java.lang.String time)
                               throws java.text.ParseException
Zwraca aktualny dzień z dowolnie ustawionym czasem. Funkcja jest przydatna do porównywania różnych dat, w szczególności w SQL.

Parameters:
time - Czas w formacie HH:mm:ss
Returns:
Jutrzejsza data
Throws:
java.text.ParseException - jeśli podano godzinę w złym formacie
Since:
jPALIO 7.4.108

setTime

public static java.util.Date setTime(java.util.Date date,
                                     java.lang.String time)
                              throws java.text.ParseException
Zwraca podaną datę z dowolnie ustalonym czasem. Funkcja jest przydatna do porównywania różnych dat, w szczególności w SQL.

Parameters:
time - Czas w formacie HH:mm:ss
Returns:
Data z ustawionym czasem
Throws:
java.text.ParseException - jeśli podano godzinę w złym formacie

truncateTime

public static java.util.Date truncateTime(java.util.Date date)
Obcina czas w podanej dacie

Parameters:
date - Data
Since:
jPALIO 6.13.0, module 1.0.25

addDay

public static java.util.Date addDay(java.util.Date date)
                             throws palio.PalioException
Dodaje jeden dzień do podanej daty.

Returns:
Data przesunięta o jeden dzień do przodu
Throws:
palio.PalioException

addDays

public static java.util.Date addDays(java.util.Date date,
                                     java.lang.Long days)
                              throws palio.PalioException
Dodaje określoną ilość dni do podanej daty. Ujemna liczba days spowoduje przesunięcie daty do tyłu.

Returns:
Przesunięta data
Throws:
palio.PalioException

addWeek

public static java.util.Date addWeek(java.util.Date date)
                              throws palio.PalioException
Dodaje jeden tydzień do podanej daty.

Returns:
Data przesunięta o jeden tydzień do przodu
Throws:
palio.PalioException

addWeeks

public static java.util.Date addWeeks(java.util.Date date,
                                      java.lang.Long weeks)
                               throws palio.PalioException
Dodaje określoną ilość tygodni do podanej daty. Ujemna liczba weeks spowoduje przesunięcie daty do tyłu.

Returns:
Przesunięta data
Throws:
palio.PalioException

forEachDay

public static void forEachDay(java.lang.String paramName,
                              java.util.Date dateFrom,
                              java.util.Date dateTo,
                              palio.compiler.PalioCode code)
                       throws java.text.ParseException,
                              palio.PalioException
Wykonuje kod code kolejno dla każdego dnia z podanego zakresu. Funkcja wewnętrznie operuje na datach z wyzerowanym czasem.

Parameters:
paramName - Nazwa parametru pod którym jest zapisana data z aktualnego przebiegu
dateFrom - Data początkowa
dateTo - Data końcowa
code - Kod jPalio do wykonania przy każdym przebiegu
Throws:
java.text.ParseException
palio.PalioException

shift

public static java.util.Date shift(java.lang.String unit,
                                   java.lang.Long amount)
                            throws palio.PalioException
Zwraca aktualną datę przesuniętą o podaną ilość jednostek czasu. Możliwe jednostki (unit) tak jak w java.util.Calendar: MILLISECOND, SECOND, MINUTE, HOUR, DAY_OF_MONTH, WEEK_OF_MONTH, MONTH, YEAR. Dodatkowo można podać: DAY i WEEK.

Parameters:
unit - Jednostka czasu
amount - Ilość jednostek
Returns:
Przesunięta data
Throws:
palio.PalioException

shift

public static java.util.Date shift(java.util.Date date,
                                   java.lang.String unit,
                                   java.lang.Long amount)
                            throws palio.PalioException
Zwraca aktualną datę przesuniętą o podaną ilość jednostek czasu. Możliwe jednostki (unit) tak jak w java.util.Calendar: MILLISECOND, SECOND, MINUTE, HOUR, DAY_OF_MONTH, WEEK_OF_MONTH, MONTH, YEAR. Dodatkowo można podać: DAY i WEEK.

Parameters:
date - Data do przesunięcia
unit - Jednostka czasu
amount - Ilość jednostek
Returns:
Przesunięta data
Throws:
palio.PalioException

dayOfWeek

public static java.lang.Long dayOfWeek()
Zwraca aktualny dzień tygodnia. Pierwszym dniem jest niedziela (1), ostatnim jest sobota (7).

Returns:
Numer dnia tygodnia 1 - 7 (1 = niedziela, 7 = sobota), lub null, jeśli date = null

dayOfWeek

public static java.lang.Long dayOfWeek(java.util.Date date)
Zwraca dzień tygodnia dla podanej daty. Pierwszym dniem jest niedziela (1), ostatnim jest sobota (7).

Parameters:
date - Data
Returns:
Numer dnia tygodnia 1 - 7 (1 = niedziela, 7 = sobota), lub null, jeśli date = null

nameOfDay

public static java.lang.Object nameOfDay(java.util.Date date,
                                         java.lang.Object[] names)
Wybiera z tablicy nazw dni tygodnia nazwę odpowiadającą dniu z podanej daty. Nazwy dni należy podać jako drugi parametr. Jest to tablica, która dla języka polskiego wygląda następująco: [Niedziela, Poniedziałek, ..., Sobota].

Parameters:
date - Data
names - Tablica nazw dni tygodnia
Returns:
Obiekt z tablicy names odpowiadający danemu dniu tygodnia

nameOfDayPL

public static java.lang.String nameOfDayPL(java.util.Date date)
Zwraca polską nazwę dnia tygodnia dla podanej daty.

Parameters:
date - Data
Returns:
Nazwa dnia tygodnia

roll

public static java.util.Date roll(java.util.Date date,
                                  java.lang.String unit,
                                  java.lang.Long amount)
                           throws palio.PalioException
Przesuwa podaną datę o zadaną ilość jednostek czasu, bez zmiany wyższej jednostki. Możliwe jednostki czasu są zdefiniowane w klasie GregorianCalendar: YEAR, MONTH, DAY_OF_YEAR, DAY_OF_MONTH, DAY_OF_WEEK, HOUR, MINUTE, SECOND.
Add to field a signed amount without changing larger fields. A negative roll amount means to subtract from field without changing larger fields.
Example: Consider a GregorianCalendar originally set to August 31, 1999. Calling roll(Calendar.MONTH, 8) sets the calendar to April 30, 1999. Using a GregorianCalendar, the DAY_OF_MONTH field cannot be 31 in the month April. DAY_OF_MONTH is set to the closest possible value, 30. The YEAR field maintains the value of 1999 because it is a larger field than MONTH.
Example: Consider a GregorianCalendar originally set to Sunday June 6, 1999. Calling roll(Calendar.WEEK_OF_MONTH, -1) sets the calendar to Tuesday June 1, 1999, whereas calling add(Calendar.WEEK_OF_MONTH, -1) sets the calendar to Sunday May 30, 1999. This is because the roll rule imposes an additional constraint: The MONTH must not change when the WEEK_OF_MONTH is rolled. Taken together with add rule 1, the resultant date must be between Tuesday June 1 and Saturday June 5. According to add rule 2, the DAY_OF_WEEK, an invariant when changing the WEEK_OF_MONTH, is set to Tuesday, the closest possible value to Sunday (where Sunday is the first day of the week).

Parameters:
date - Data do przesunięcia
unit - Jednostka czasu o jaką należy przesunąć datę
amount - Ile razy należy przesunąć datę o podaną jednostkę czasu
Returns:
Przesunięta data, lub null jeśli date = null
Throws:
palio.PalioException

weekDates

public static java.lang.Object[] weekDates(java.util.Date date)
Zwraca tablicę dat dla całego tygodnia, w której zawiera się podana data. Tablica rozpoczyna się od niedzieli. Każda zwrócona data ma taką samą godzinę, jak w podanej dacie.

Parameters:
date - Data
Returns:
Tablica dat dla całego tygodnia

before

public static java.lang.Boolean before(java.util.Date date1,
                                       java.util.Date date2)
Sprawdza czy data podana jako pierwszy parametr jest wcześniejsza niż data podana jako drugi parametr.


after

public static java.lang.Boolean after(java.util.Date date1,
                                      java.util.Date date2)
Sprawdza czy data podana jako pierwszy parametr jest późniejsza niż data podana jako drugi parametr.


get

public static java.lang.Long get(java.util.Date date,
                                 java.lang.String fieldName)
                          throws java.lang.NoSuchFieldException,
                                 java.lang.IllegalAccessException
Zwraca wybrane pole wyciągniete z podanej daty. Dostępne nazwy pól:

Parameters:
date - data
fieldName - nazwa pola
Throws:
java.lang.NoSuchFieldException
java.lang.IllegalAccessException

compareByField

public static java.lang.Object[] compareByField(java.util.Date date1,
                                                java.util.Date date2)
                                         throws java.text.ParseException
Zwraca różnicę pomiędzy datami w postaci tablicy [różnica w latach, miesiącach, dniach, godzinach, minutach, sekundach] przy czym pola związane z czasem są wyzerowane (porównywany jest tylko dzień). Na przykład: od dnia 2005-03-25 do dnia 2005-06-22 mijają 2 miesiące i 28 dni. Wywołanie compareByField(2005-06-22, 2005-03-25, false) zwróci [0, 2, 28, 0, 0, 0]. Natomiast wywołanie compareByField(2005-11-13 22:15:03, 2005-11-14 01:30:01, true) zwróci [0, 0, 1, 0, 0, 0].

Parameters:
date1 - Data pierwsza
date2 - Data druga
Returns:
Tablica z wynikiem porównania
Throws:
java.text.ParseException

compareByField

public static java.lang.Object[] compareByField(java.util.Date date1,
                                                java.util.Date date2,
                                                java.lang.Boolean includeTime)
                                         throws java.text.ParseException
Zwraca różnicę pomiędzy datami w postaci tablicy [różnica w latach, miesiącach, dniach, godzinach, minutach, sekundach]. Na przykład: od dnia 2005-03-25 do dnia 2005-06-22 mijają 2 miesiące i 28 dni. Wywołanie compareByField(2005-06-22, 2005-03-25, false) zwróci [0, 2, 28, 0, 0, 0]. Natomiast wywołanie compareByField(2005-11-13 22:15:03, 2005-11-14 01:30:01, true) zwróci [0, 0, 0, 3, 14, 58].

Parameters:
date1 - Data pierwsza
date2 - Data druga
includeTime - Czy funkcja ma też uwzględniać czas przy porównaniu
Returns:
Tablica z wynikiem porównania
Throws:
java.text.ParseException