 |
|
| |
| Venus::Date(3) |
User Contributed Perl Documentation |
Venus::Date(3) |
package main;
use Venus::Date;
my $date = Venus::Date->new(570672000);
# $date->string;
# '1988-02-01T00:00:00Z'
This package provides methods for formatting, parsing, and
manipulating date and time data.
This package has the following attributes:
day(Int)
This attribute is read-write, accepts
"(Int)" values, and is optional.
month(Int)
This attribute is read-write, accepts
"(Int)" values, and is optional.
year(Int)
This attribute is read-write, accepts
"(Int)" values, and is optional.
hour(Int)
This attribute is read-write, accepts
"(Int)" values, and is optional.
minute(Int)
This attribute is read-write, accepts
"(Int)" values, and is optional.
second(Int)
This attribute is read-write, accepts
"(Int)" values, and is optional.
This package inherits behaviors from:
Venus::Kind::Utility
This package integrates behaviors from:
Venus::Role::Buildable
Venus::Role::Explainable
This package provides the following methods:
add(hashref $data) (Venus::Date)
The add method increments the date and time attributes
specified.
Since 0.01
- add example 1
-
# given: synopsis;
$date = $date->add({
days => 1,
months => 1,
years => 1,
});
# $date->string; # 1989-03-03T16:17:54Z
# $date->epoch; # 604945074
- add example 2
-
# given: synopsis;
$date = $date->add({
hours => 1,
minutes => 1,
seconds => 1,
});
# $date->string; # 1988-02-01T01:01:01Z
# $date->epoch; # 570675661
add_days(number $days) (any)
The add_days method increments the
"day" attribute.
Since 0.01
- add_days example 1
-
# given: synopsis;
$date = $date->add_days(1);
# $date->string; # 1988-02-02T00:00:00Z
# $date->epoch; # 570758400
- add_days example 2
-
# given: synopsis;
$date = $date->add_days(40);
# $date->string; # 1988-03-12T00:00:00Z
# $date->epoch; # 574128000
- add_days example 3
-
# given: synopsis;
$date = $date->add_days(-1);
# $date->string; # 1988-01-31T00:00:00Z
# $date->epoch; # 570585600
add_hms(maybe[number] $hours, maybe[number] $minutes, maybe[number] $seconds) (Venus::Date)
The add_hms method increments the
"hour",
"minute", and
"second" attributes.
Since 0.01
- add_hms example 1
-
# given: synopsis;
$date = $date->add_hms(1, 0, 0);
# $date->string; # 1988-02-01T01:00:00Z
# $date->epoch; # 570675600
- add_hms example 2
-
# given: synopsis;
$date = $date->add_hms(undef, 1, 1);
# $date->string; # 1988-02-01T00:01:01Z
# $date->epoch; # 570672061
- add_hms example 3
-
# given: synopsis;
$date = $date->add_hms(1, 1);
# $date->string; # 1988-02-01T01:01:00Z
# $date->epoch; # 570675660
add_hours(number $hours) (any)
The add_hours method increments the
"hour" attribute.
Since 0.01
- add_hours example 1
-
# given: synopsis;
$date = $date->add_hours(1);
# $date->string; # 1988-02-01T01:00:00Z
# $date->epoch; # 570675600
- add_hours example 2
-
# given: synopsis;
$date = $date->add_hours(25);
# $date->string; # 1988-02-02T01:00:00Z
# $date->epoch; # 570762000
- add_hours example 3
-
# given: synopsis;
$date = $date->add_hours(-1);
# $date->string; # 1988-01-31T23:00:00Z
# $date->epoch; # 570668400
add_mdy(maybe[number] $months, maybe[number] $days, maybe[number] $years) (Venus::Date)
The add_mdy method increments the
"month",
"day", and
"years" attributes.
Since 0.01
- add_mdy example 1
-
# given: synopsis;
$date = $date->add_mdy(1, 0, 0);
# $date->string; # 1988-03-02T10:29:04Z
# $date->epoch; # 573301744
- add_mdy example 2
-
# given: synopsis;
$date = $date->add_mdy(undef, 1, 1);
# $date->string; # 1989-02-01T05:48:50Z
# $date->epoch; # 602315330
- add_mdy example 3
-
# given: synopsis;
$date = $date->add_mdy(1, 1);
# $date->string; # 1988-03-03T10:29:04Z
# $date->epoch; # 573388144
add_minutes(number $minutes) (Venus::Date)
The add_minutes method increments the
"minute" attribute.
Since 0.01
- add_minutes example 1
-
# given: synopsis;
$date = $date->add_minutes(1);
# $date->string; # 1988-02-01T00:01:00Z
# $date->epoch; # 570672060
- add_minutes example 2
-
# given: synopsis;
$date = $date->add_minutes(61);
# $date->string; # 1988-02-01T01:01:00Z
# $date->epoch; # 570675660
- add_minutes example 3
-
# given: synopsis;
$date = $date->add_minutes(-1);
# $date->string; # 1988-01-31T23:59:00Z
# $date->epoch; # 570671940
add_months(number $months) (Venus::Date)
The add_months method increments the
"month" attribute.
Since 0.01
- add_months example 1
-
# given: synopsis;
$date = $date->add_months(1);
# $date->string; # 1988-03-02T10:29:04Z
# $date->epoch; # 573301744
- add_months example 2
-
# given: synopsis;
$date = $date->add_months(13);
# $date->string; # 1989-03-02T16:17:52Z
# $date->epoch; # 604858672
- add_months example 3
-
# given: synopsis;
$date = $date->add_months(-1);
# $date->string; # 1988-01-01T13:30:56Z
# $date->epoch; # 568042256
add_seconds(number $seconds) (Venus::Date)
The add_seconds method increments the
"second" attribute.
Since 0.01
- add_seconds example 1
-
# given: synopsis;
$date = $date->add_seconds(1);
# $date->string; # 1988-02-01T00:00:01Z
# $date->epoch; # 570672001
- add_seconds example 2
-
# given: synopsis;
$date = $date->add_seconds(61);
# $date->string; # 1988-02-01T00:01:01Z
# $date->epoch; # 570672061
- add_seconds example 3
-
# given: synopsis;
$date = $date->add_seconds(-1);
# $date->string; # 1988-01-31T23:59:59Z
# $date->epoch; # 570671999
add_years(number $years) (Venus::Date)
The add_years method increments the
"year" attribute.
Since 0.01
- add_years example 1
-
# given: synopsis;
$date = $date->add_years(1);
# $date->string; # 1989-01-31T05:48:50Z
# $date->epoch; # 602228930
- add_years example 2
-
# given: synopsis;
$date = $date->add_years(50);
# $date->string; # 2038-01-31T02:41:40Z
# $date->epoch; # 2148518500
- add_years example 3
-
# given: synopsis;
$date = $date->add_years(-1);
# $date->string; # 1987-01-31T18:11:10Z
# $date->epoch; # 539115070
epoch() (number)
The epoch method returns the epoch.
Since 0.01
- epoch example 1
-
# given: synopsis;
my $epoch = $date->epoch;
# 570672000
explain() (number)
The explain method returns the epoch and is used in
stringification operations.
Since 0.01
- explain example 1
-
# given: synopsis;
my $explain = $date->explain;
# 570672000
format(string $format) (string)
The format method returns the formatted date and time string. See
strftime <http://www.unix.com/man-page/FreeBSD/3/strftime/> for
formatting rules.
Since 0.01
- format example 1
-
# given: synopsis;
my $format = $date->format('%A, %B %e, %Y');
# Monday, February 1, 1988
- format example 2
-
# given: synopsis;
my $format = $date->format('%b %e %a');
# Feb 1 Mon
hms() (string)
The hms method returns the time formatted as
"hh:mm:ss".
Since 0.01
- hms example 1
-
# given: synopsis;
my $hms = $date->hms;
# 00:00:00
iso8601() (string)
The iso8601 method returns the date and time formatted as an
ISO8601 string.
Since 0.01
- iso8601 example 1
-
# given: synopsis;
my $iso8601 = $date->iso8601;
# 1988-02-01T00:00:00
mdy() (string)
The mdy method returns the date formatted as
"mm-dd-yyyy".
Since 0.01
- mdy example 1
-
# given: synopsis;
my $mdy = $date->mdy;
# 02-01-1988
parse(any @data) (Venus::Date)
The parse method resets and returns a date object based on the
parsed time provided. See strptime
<http://www.unix.com/man-page/FreeBSD/3/strptime/> for parsing
rules.
Since 0.01
- parse example 1
-
# given: synopsis;
$date = $date->parse('Monday, February 1, 1988', '%A, %B %e, %Y');
# $date->string; # 1988-02-01T00:00:00Z
# $date->epoch; # 570672000
reset(number $time) (Venus::Date)
The reset method resets all attributes to correspond with the
epoch provided.
Since 0.01
- reset example 1
-
# given: synopsis;
$date = $date->reset(631152000);
# $date->string; # 1990-01-01T00:00:00Z
# $date->epoch; # 631152000
restart(string $interval) (Venus::Date)
The restart method truncates the date and time to the specified
unit of time, e.g. "year",
"quarter",
"month",
"day",
"hour",
"minute",
"second".
Since 0.01
- restart example 1
-
# given: synopsis;
$date = $date->restart('year');
# $date->string; # 1988-01-01T00:00:00Z
# $date->epoch; # 567993600
- restart example 2
-
# given: synopsis;
$date = $date->restart('quarter');
# $date->string; # 1988-01-01T00:00:00Z
# $date->epoch; # 567993600
- restart example 3
-
# given: synopsis;
$date = $date->restart('month');
# $date->string; # 1988-02-01T00:00:00Z
# $date->epoch; # 570672000
restart_day() (Venus::Date)
The restart_day method truncates the date and time to the
"day".
Since 1.02
- restart_day example 1
-
# given: synopsis;
$date = $date->restart_day;
# $date->string; # 1988-02-01T00:00:00Z
# $date->epoch; # 570672000
restart_hour() (Venus::Date)
The restart_hour method truncates the date and time to the
"hour".
Since 1.02
- restart_hour example 1
-
# given: synopsis;
$date = $date->restart_hour;
# $date->string; # 1988-02-01T00:00:00Z
# $date->epoch; # 570672000
restart_minute() (Venus::Date)
The restart_minute method truncates the date and time to the
"minute".
Since 1.02
- restart_minute example 1
-
# given: synopsis;
$date = $date->restart_minute;
# $date->string; # 1988-02-01T00:00:00Z
# $date->epoch; # 570672000
restart_month() (Venus::Date)
The restart_month method truncates the date and time to the
"month".
Since 1.02
- restart_month example 1
-
# given: synopsis;
$date = $date->restart_month;
# $date->string; # 1988-02-01T00:00:00Z
# $date->epoch; # 570672000
restart_quarter() (Venus::Date)
The restart_quarter method truncates the date and time to the
"quarter".
Since 1.02
- restart_quarter example 1
-
# given: synopsis;
$date = $date->restart_quarter;
# $date->string; # 1988-01-01T00:00:00Z
# $date->epoch; # 567993600
restart_second() (Venus::Date)
The restart_second method truncates the date and time to the
"second".
Since 1.02
- restart_second example 1
-
# given: synopsis;
$date = $date->restart_second;
# $date->string; # 1988-02-01T00:00:00Z
# $date->epoch; # 570672000
restart_year() (Venus::Date)
The restart_year method truncates the date and time to the
"year".
Since 1.02
- restart_year example 1
-
# given: synopsis;
$date = $date->restart_year;
# $date->string; # 1988-01-01T00:00:00Z
# $date->epoch; # 567993600
rfc1123() (string)
The rfc1123 method returns the date and time formatted as an
RFC1123 string.
Since 0.01
- rfc1123 example 1
-
# given: synopsis;
my $rfc1123 = $date->rfc1123;
# Mon, 01 Feb 1988 00:00:00 GMT
rfc3339() (string)
The rfc3339 method returns the date and time formatted as an
RFC3339 string.
Since 0.01
- rfc3339 example 1
-
# given: synopsis;
my $rfc3339 = $date->rfc3339;
# 1988-02-01T00:00:00Z
rfc7231() (string)
The rfc7231 method returns the date and time formatted as an
RFC7231 string.
Since 0.01
- rfc7231 example 1
-
# given: synopsis;
my $rfc7231 = $date->rfc7231;
# Mon, 01 Feb 1988 00:00:00 UTC
rfc822() (string)
The rfc822 method returns the date and time formatted as an RFC822
string.
Since 0.01
- rfc822 example 1
-
# given: synopsis;
my $rfc822 = $date->rfc822;
# Mon, 01 Feb 1988 00:00:00 +0000
set(hashref $data) (Venus::Date)
The set method sets the date and time attributes specified.
Since 0.01
- set example 1
-
# given: synopsis;
$date = $date->set({
day => 1,
month => 1,
year => 2000,
});
# $date->string; # 2000-01-01T00:00:00Z
# $date->epoch; # 946684800
- set example 2
-
# given: synopsis;
$date = $date->set({
day => 1,
month => 12,
});
# $date->string; # 1988-12-01T00:00:00Z
# $date->epoch; # 596937600
- set example 3
-
# given: synopsis;
$date = $date->set({
day => 1,
month => 12,
year => 1979,
});
# $date->string; # 1979-12-01T00:00:00Z
# $date->epoch; # 312854400
set_hms(maybe[number] $hours, maybe[number] $minutes, maybe[number] $seconds) (Venus::Date)
The set_hms method sets the
"hour",
"minute", and
"second" attributes.
Since 0.01
- set_hms example 1
-
# given: synopsis;
$date = $date->set_hms(1, 0, 0);
# $date->string; # 1988-02-01T01:00:00Z
# $date->epoch; # 570675600
- set_hms example 2
-
# given: synopsis;
$date = $date->set_hms(undef, 30, 30);
# $date->string; # 1988-02-01T00:30:30Z
# $date->epoch; # 570673830
- set_hms example 3
-
# given: synopsis;
$date = $date->set_hms(0, 59, 59);
# $date->string; # 1988-02-01T00:59:59Z
# $date->epoch; # 570675599
set_mdy(maybe[number] $months, maybe[number] $days, maybe[number] $years) (Venus::Date)
The set_mdy method sets the
"month",
"day", and
"year" attributes.
Since 0.01
- set_mdy example 1
-
# given: synopsis;
$date = $date->set_mdy(4, 30, 1990);
# $date->string; # 1990-04-30T00:00:00Z
# $date->epoch; # 641433600
- set_mdy example 2
-
# given: synopsis;
$date = $date->set_mdy(4, 30, undef);
# $date->string; # 1988-04-30T00:00:00Z
# $date->epoch; # 578361600
- set_mdy example 3
-
# given: synopsis;
$date = $date->set_mdy(undef, 15, undef);
# $date->string; # 1988-02-15T00:00:00Z
# $date->epoch; # 571881600
string() (string)
The string method returns a date and time string, and is an alias
for "rfc3339".
Since 0.01
- string example 1
-
# given: synopsis;
my $string = $date->string;
# 1988-02-01T00:00:00Z
sub(hashref $data) (Venus::Date)
The sub method method decrements the date and time attributes
specified.
Since 0.01
- sub example 1
-
# given: synopsis;
$date = $date->sub({
days => 1,
months => 1,
years => 1,
});
# $date->string; # 1986-12-31T07:42:06Z
# $date->epoch; # 536398926
- sub example 2
-
# given: synopsis;
$date = $date->sub({
hours => 1,
minutes => 1,
seconds => 1,
});
# $date->string; # 1988-01-31T22:58:59Z
# $date->epoch; # 570668339
sub_days(number $days) (Venus::Date)
The sub_days method decrements the
"day" attribute.
Since 0.01
- sub_days example 1
-
# given: synopsis;
$date = $date->sub_days(1);
# $date->string; # 1988-01-31T00:00:00Z
# $date->epoch; # 570585600
- sub_days example 2
-
# given: synopsis;
$date = $date->sub_days(32);
# $date->string; # 1987-12-31T00:00:00Z
# $date->epoch; # 567907200
- sub_days example 3
-
# given: synopsis;
$date = $date->sub_days(-1);
# $date->string; # 1988-02-02T00:00:00Z
# $date->epoch; # 570758400
sub_hms(maybe[number] $hours, maybe[number] $minutes, maybe[number] $seconds) (Venus::Date)
The sub_hms method decrements the
"hour",
"minute", and
"second" attributes.
Since 0.01
- sub_hms example 1
-
# given: synopsis;
$date = $date->sub_hms(1, 0, 0);
# $date->string; # 1988-01-31T23:00:00Z
# $date->epoch; # 570668400
- sub_hms example 2
-
# given: synopsis;
$date = $date->sub_hms(undef, 1, 1);
# $date->string; # 1988-01-31T23:58:59Z
# $date->epoch; # 570671939
- sub_hms example 3
-
# given: synopsis;
$date = $date->sub_hms(1, 1);
# $date->string; # 1988-01-31T22:59:00Z
# $date->epoch; # 570668340
sub_hours(number $hours) (any)
The sub_hours method decrements the
"hour" attribute.
Since 0.01
- sub_hours example 1
-
# given: synopsis;
$date = $date->sub_hours(1);
# $date->string; # 1988-01-31T23:00:00Z
# $date->epoch; # 570668400
- sub_hours example 2
-
# given: synopsis;
$date = $date->sub_hours(25);
# $date->string; # 1988-01-30T23:00:00Z
# $date->epoch; # 570582000
- sub_hours example 3
-
# given: synopsis;
$date = $date->sub_hours(-1);
# $date->string; # 1988-02-01T01:00:00Z
# $date->epoch; # 570675600
sub_mdy(maybe[number] $months, maybe[number] $days, maybe[number] $years) (Venus::Date)
The sub_mdy method decrements the
"month",
"day", and
"year" attributes.
Since 0.01
- sub_mdy example 1
-
# given: synopsis;
$date = $date->sub_mdy(1, 1, 1);
# $date->string; # 1986-12-31T07:42:06Z
# $date->epoch; # 536398926
- sub_mdy example 2
-
# given: synopsis;
$date = $date->sub_mdy(1, 1, undef);
# $date->string; # 1987-12-31T13:30:56Z
# $date->epoch; # 567955856
- sub_mdy example 3
-
# given: synopsis;
$date = $date->sub_mdy(1, 1);
# $date->string; # 1987-12-31T13:30:56Z
# $date->epoch; # 567955856
sub_minutes(number $minutes) (Venus::Date)
The sub_minutes method decrements the
"minute" attribute.
Since 0.01
- sub_minutes example 1
-
# given: synopsis;
$date = $date->sub_minutes(1);
# $date->string; # 1988-01-31T23:59:00Z
# $date->epoch; # 570671940
- sub_minutes example 2
-
# given: synopsis;
$date = $date->sub_minutes(61);
# $date->string; # 1988-01-31T22:59:00Z
# $date->epoch; # 570668340
- sub_minutes example 3
-
# given: synopsis;
$date = $date->sub_minutes(-1);
# $date->string; # 1988-02-01T00:01:00Z
# $date->epoch; # 570672060
sub_months(number $months) (Venus::Date)
The sub_months method decrements the
"month" attribute.
Since 0.01
- sub_months example 1
-
# given: synopsis;
$date = $date->sub_months(1);
# $date->string; # 1988-01-01T13:30:56Z
# $date->epoch; # 568042256
- sub_months example 2
-
# given: synopsis;
$date = $date->sub_months(13);
# $date->string; # 1987-01-01T07:42:08Z
# $date->epoch; # 536485328
- sub_months example 3
-
# given: synopsis;
$date = $date->sub_months(-1);
# $date->string; # 1988-03-02T10:29:04Z
# $date->epoch; # 573301744
sub_seconds(number $seconds) (Venus::Date)
The sub_seconds method decrements the
"second" attribute.
Since 0.01
- sub_seconds example 1
-
# given: synopsis;
$date = $date->sub_seconds(1);
# $date->string; # 1988-01-31T23:59:59Z
# $date->epoch; # 570671999
- sub_seconds example 2
-
# given: synopsis;
$date = $date->sub_seconds(61);
# $date->string; # 1988-01-31T23:58:59Z
# $date->epoch; # 570671939
- sub_seconds example 3
-
# given: synopsis;
$date = $date->sub_seconds(-1);
# $date->string; # 1988-02-01T00:00:01Z
# $date->epoch; # 570672001
sub_years(number $years) (Venus::Date)
The sub_years method decrements the
"years" attribute.
Since 0.01
- sub_years example 1
-
# given: synopsis;
$date = $date->sub_years(1);
# $date->string; # 1987-01-31T18:11:10Z
# $date->epoch; # 539115070
- sub_years example 2
-
# given: synopsis;
$date = $date->sub_years(25);
# $date->string; # 1963-01-31T22:39:10Z
# $date->epoch; # -218251250
- sub_years example 3
-
# given: synopsis;
$date = $date->sub_years(-1);
# $date->string; # 1989-01-31T05:48:50Z
# $date->epoch; # 602228930
This package overloads the following operators:
- operation:
"(!=)"
- This package overloads the "!="
operator.
example 1
# given: synopsis;
my $result = $date != 570672001;
# 1
- operation:
"("")"
- This package overloads the "" operator.
example 1
# given: synopsis;
my $result = "$date";
# "570672000"
- operation:
"(+)"
- This package overloads the "+" operator.
example 1
# given: synopsis;
my $result = $date + 0;
# 570672000
- operation:
"(-)"
- This package overloads the "-" operator.
example 1
# given: synopsis;
my $result = $date - 0;
# 570672000
- operation:
"(0+)"
- This package overloads the "0+"
operator.
example 1
# given: synopsis;
my $result = 0 + $date;
# 570672000
- operation:
"(==)"
- This package overloads the "=="
operator.
example 1
# given: synopsis;
my $result = $date == 570672000;
# 1
- operation:
"(>)"
- This package overloads the ">"
operator.
example 1
# given: synopsis;
my $result = $date > 570671999;
# 1
- operation:
"(>=)"
- This package overloads the ">="
operator.
example 1
# given: synopsis;
my $result = $date >= 570672000;
# 1
- operation:
"(<)"
- This package overloads the "<"
operator.
example 1
# given: synopsis;
my $result = $date < 570672001;
# 1
- operation:
"(<=)"
- This package overloads the "<="
operator.
example 1
# given: synopsis;
my $result = $date <= 570672000;
# 1
- operation:
"(eq)"
- This package overloads the "eq"
operator.
example 1
# given: synopsis;
my $result = $date eq '570672000';
# 1
- operation:
"(ne)"
- This package overloads the "ne"
operator.
example 1
# given: synopsis;
my $result = $date ne '560672000';
# 1
- operation:
"(~~)"
- This package overloads the "~~"
operator.
example 1
# given: synopsis;
my $result = $date ~~ '570672000';
# 1
Awncorp, "awncorp@cpan.org"
Copyright (C) 2022, Awncorp,
"awncorp@cpan.org".
This program is free software, you can redistribute it and/or
modify it under the terms of the Apache license version 2.0.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|