---
name: "Prima::Calendar"
section: "3"
platform: "linux"
package: "libprima-perl"
version: "1.28-1.3+b3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Prima::Calendar"
---

# Prima::Calendar(3)

standard calendar widget

## NAME

Prima::Calendar - standard calendar widget

## SYNOPSIS

```
        use Prima::Calendar;
        my $cal = Prima::Calendar-> create(
                useLocale => 1,
                onChange  => sub {
                        print $_[0]-> date_as_string, "\n";
                },
        );
        $cal-> date_from_time( localtime );
        $cal-> month( 5);
```

## DESCRIPTION

Provides interactive selection of date between 1900 and 2099 years. The main property, date, is a three-integer array, day, month, and year, in the format of perl localtime ( see "localtime" in perlfunc ) -  day can be in range from 1 to 31,month from 0 to 11, year from 0 to 199.

## API

### Events

- Change

  Called when the date property is changed.

### Properties

- date DAY, MONTH, YEAR

  Accepts three integers in format of `"localtime"`. DAY can be from 1 to 31, MONTH from 0 to 11, YEAR from 0 to 199.

  Default value: today's date.

- day INTEGER

  Selects the day in month.

- firstDayOfWeek INTEGER

  Selects the first day of week, an integer between 0 and 6, where 0 is Sunday is the first day, 1 is Monday etc.

  Default value: 0

- month

  Selects the month.

- useLocale BOOLEAN

  If 1, the locale-specific names of months and days of week are used. These are read by calling `"POSIX::strftime"`. If invocation of POSIX module fails, the property is automatically assigned to 0.

  If 0, the English names of months and days of week are used.

  Default value: 1

  See also: date\_as\_string

- year

  Selects the year.

### Methods

- can\_use\_locale

  Returns boolean value, whether the locale information can be retrieved by calling `"strftime"`.

- month2str MONTH

  Returns MONTH name according to useLocale value.

- make\_months

  Returns array of 12 month names according to useLocale value.

- day\_of\_week DAY, MONTH, YEAR, \[ USE\_FIRST\_DAY\_OF\_WEEK = 1 \]

  Returns integer value, from 0 to 6, of the day of week on DAY, MONTH, YEAR date. If boolean USE\_FIRST\_DAY\_OF\_WEEK is set, the value of `"firstDayOfWeek"` property is taken into the account, so 0 is a Sunday shifted forward by `"firstDayOfWeek"` days.

  The switch from Julian to Gregorian calendar is ignored.

- date\_as\_string \[ DAY, MONTH, YEAR \]

  Returns string representation of date on DAY, MONTH, YEAR according to useLocale property value.

- date\_from\_time SEC, MIN, HOUR, M\_DAY, MONTH, YEAR, ...

  Copies date from `"localtime"` or `"gmtime"` result. This helper method allows the following syntax:

  ```
          $calendar-> date_from_time( localtime( time));
  ```

## AUTHOR

Dmitry Karasik, \<dmitry@karasik.eu.org\>.

## SEE ALSO

Prima, Prima::Widget, POSIX, "localtime" in perlfunc, "time" in perlfunc, *examples/calendar.pl*.
