DateTime-Lite
view release on metacpan or search on metacpan
lib/DateTime/Lite/Duration/JA.pod view on Meta::CPAN
=encoding utf-8
=head1 NAME
DateTime::Lite::Duration - DateTime::Liteã§ä½¿ç¨ããæéãªãã¸ã§ã¯ã
=head1 SYNOPSIS
use DateTime::Lite::Duration;
my $dur = DateTime::Lite::Duration->new(
years => 1,
months => 6,
days => 15,
hours => 3,
minutes => 10,
seconds => 30,
) || die( DateTime::Lite::Duration->error );
my $dur = DateTime::Lite::Duration->new(
years => 1,
months => 6,
weeks => 2,
days => 15,
hours => 3,
minutes => 10,
seconds => 30,
nanoseconds => 500_000_000,
end_of_month => 'limit', # 'wrap'ï¼ããã©ã«ãï¼, 'limit', 'preserve'
) || die( DateTime::Lite::Duration->error );
# ã¤ã³ããã¹ãã¯ã·ã§ã³
printf( "Years: %d, Months: %d\n", $dur->years, $dur->months );
# DateTime::Lite ã¨ä¸ç·ã«ä½¿ç¨
$dt->add_duration( $dur );
$dt->subtract_duration( $dur );
my $diff = $dt1->subtract_datetime( $dt2 ); # Duration ãè¿ãã¾ã
# 絶対å¤ã¢ã¯ã»ãµï¼ãã大ããåä½ãåãé¤ããå¤ï¼
$dur->years; # å®å
¨ãªå¹´æ°
$dur->months; # å¹´ãåãé¤ããå¾ã®ææ°
$dur->weeks; # å®å
¨ãªé±æ°
$dur->days; # é±ãåãé¤ããå¾ã®æ¥æ°
$dur->hours; # å®å
¨ãªæéæ°
$dur->minutes; # æéãåãé¤ããå¾ã®åæ°
$dur->seconds; # åãåãé¤ããå¾ã®ç§æ°
$dur->nanoseconds; # ç§ãåãé¤ããå¾ã®ããç§æ°
# 符å·ä»ãã®ç delta ã¢ã¯ã»ãµ
$dur->delta_months; # 符å·ä»ãææ°ï¼years * 12 + monthsï¼
$dur->delta_days; # 符å·ä»ãæ¥æ°
$dur->delta_minutes; # 符å·ä»ãåæ°ï¼hours * 60 + minutesï¼
$dur->delta_seconds; # 符å·ä»ãç§æ°
$dur->delta_nanoseconds; # 符å·ä»ãããç§æ°
# ãã¹ã¦ã®ç¬¦å·ä»ãã³ã³ãã¼ãã³ããä¸åº¦ã«åå¾
my %d = $dur->deltas; # keys: months days minutes seconds nanoseconds
# ã«ã¬ã³ãã¼ / æè¨ã®é¨å duration
my $cal = $dur->calendar_duration; # months + days ã®ã¿
my $clock = $dur->clock_duration; # minutes + seconds + nanoseconds ã®ã¿
# æéã«å¯¾ãã¦ã®ç®è¡æ¼ç®
$dur->add( months => 1, days => 7 );
$dur->subtract( hours => 2 );
$dur->add_duration( $other_dur );
$dur->subtract_duration( $other_dur );
my $inverse = $dur->inverse; # ãã¹ã¦ã®ã³ã³ãã¼ãã³ãã®ç¬¦å·ãå転
my $neg = $dur->inverse( end_of_month => 'wrap' );
# 夿
# æå®ããåä½ã®çµã¿åããã¨ãã¦è¡¨ç¾:
my ( $h, $m ) = $dur->in_units( 'hours', 'minutes' ); # ä¾: (3, 10)
my $total_min = $dur->in_units('minutes'); # ã¹ã«ã©ã¼å½¢å¼
# æ¯è¼
my $cmp = DateTime::Lite::Duration->compare( $dur1, $dur2 ); # -1, 0, 1
# è¿°èª
$dur->is_positive; # ããããã®ã³ã³ãã¼ãã³ãã > 0ã§ã< 0ããªãå ´åã«ç
$dur->is_negative; # ããããã®ã³ã³ãã¼ãã³ãã < 0ã§ã> 0ããªãå ´åã«ç
$dur->is_zero; # ãã¹ã¦ã®ã³ã³ãã¼ãã³ãã 0ã®å ´åã«ç
$dur->is_wrap_mode; # end_of_month eq 'wrap'
$dur->is_limit_mode; # end_of_month eq 'limit'
$dur->is_preserve_mode; # end_of_month eq 'preserve'
$dur->end_of_month_mode; # 'wrap', 'limit', ã¾ã㯠'preserve'
# ã¯ãã¼ã³
my $copy = $dur->clone;
# 宿°
DateTime::Lite::Duration::MAX_NANOSECONDS(); # 1_000_000_000
# ã¨ã©ã¼å¦ç
my $dur2 = DateTime::Lite::Duration->new( %bad_args ) ||
die( DateTime::Lite::Duration->error );
$dur->fatal(1); # ãã¹ã¦ã®ã¨ã©ã¼ã fatal ã«ãã¾ãï¼warn+undef ã§ã¯ãªã dieï¼
my $err = $dur->error;
=head1 VERSION
v0.1.1
=head1 DESCRIPTION
C<DateTime::Lite::Duration>ã¯ãL<DateTime::Lite>å°ç¨ã«ä½¿ç¨ããããL<DateTime::Duration>ã®è»½éãªç§»æ¤ã§ããdurationã¯5ã¤ã®ç¬ç«ããããã±ãããã«ä¿åããã¾ãï¼C<months>, C<days>, C<minutes>, C<seconds>, C<nanosec...
month/dayãã±ããã¯C<calendar>åä½ã§ãããå®éã®é·ãã¯æéãé©ç¨ãããæ¥ä»ã«ä¾åãã¾ããminute/second/nanosecondãã±ããã¯çµ¶å¯¾çãªC<clock>åä½ã§ãã
L<DateTime>ã¨ç°ãªããC<DateTime::Lite>ã¯äºæããC<die()>ãå¼ã³åºããã¨ã¯ããã¾ããã
ã¨ã©ã¼æã«ã¯ãC<< $dur->error >>ã§åå¾ã§ããä¾å¤ãªãã¸ã§ã¯ããè¨å®ããã¹ã«ã©ã¼ã³ã³ããã¹ãã§ã¯C<undef>ããªã¹ãã³ã³ããã¹ãã§ã¯ç©ºãªã¹ããè¿ãã¾ãããã§ã¼ã³å¼ã³åºãï¼ãªãã¸ã§ã¯ã...
=head1 CONSTRUCTOR
=head2 new( %args )
åãä»ãããã¼ï¼
=over 4
=item C<years>, C<months>
ã«ã¬ã³ãã¼æéã§ããC<years>ã¯æ§ç¯æã«æã¸å¤æããã¾ãï¼1å¹´= 12ãæï¼ã
=item C<weeks>, C<days>
ã«ã¬ã³ãã¼æéã§ããC<weeks>ã¯æ¥ã«å¤æããã¾ãï¼1é±= 7æ¥ï¼ã
=item C<hours>, C<minutes>
æè¨æéã§ããC<hours>ã¯åã¸å¤æããã¾ãï¼1æé= 60åï¼ã
=item C<seconds>, C<nanoseconds>
æè¨æéã§ãã
=item C<end_of_month>
æã®å ç®/æ¸ç®æã«ææ«è¨ç®ãã©ã®ããã«æ±ãããæå®ãã¾ããC<wrap>ï¼ããã©ã«ãï¼ãC<limit>ãC<preserve>ã®ããããã§ãã
=back
=head1 METHODS
=head2 Accessorsï¼çµ¶å¯¾å¤ï¼
C<years>, C<months>, C<weeks>, C<days>, C<hours>, C<minutes>, C<seconds>, C<nanoseconds>ã¯ãã¹ã¦ããã大ããåä½ãåãé¤ããå¾ã®ããã®åä½ã«ãããæéã®çµ¶å¯¾å¤ï¼ç¬¦å·ãªãï¼ã®é¨åãè¿ãã¾ãããã¨ãã°...
=head2 符å·ä»ãdeltaã¢ã¯ã»ãµ
C<delta_months>, C<delta_days>, C<delta_minutes>, C<delta_seconds>, C<delta_nanoseconds>ã¯ãå
é¨ã®ç¬¦å·ä»ãçå¤ãè¿ãã¾ãã
=head2 calendar_duration / clock_duration
ãããããã«ã¬ã³ãã¼ã³ã³ãã¼ãã³ãï¼months, daysï¼ã®ã¿ãã¾ãã¯æè¨ã³ã³ãã¼ãã³ãï¼minutes, seconds, nanosecondsï¼ã®ã¿ãå«ãæ°ããæéãªãã¸ã§ã¯ããè¿ãã¾ãã
=head2 clone
æµ
ãã³ãã¼ãè¿ãã¾ãã
=head2 compare( $dur1, $dur2 )
ã¯ã©ã¹ã¡ã½ããã§ãã2ã¤ã®æéãåä½ãã¨ã«æ¯è¼ãã¾ãã-1ã0ãã¾ãã¯1ãè¿ãã¾ãã
=head2 deltas
5ã¤ãã¹ã¦ã®ç¬¦å·ä»ãçå¤ãå«ãããã·ã¥ãè¿ãã¾ãã
=head2 end_of_month_mode
C<wrap>, C<limit>ãã¾ãã¯C<preserve>ãè¿ãã¾ãã
=head2 in_units( @units )
æå®ãããåä½ã®çµã¿åããã¨ãã¦è¡¨ç¾ããæéãè¿ãã¾ãã
ä¾ï¼190åã®æéã«å¯¾ãã¦C<< $dur->in_units( 'hours', 'minutes' ) >>ã¯C<(3, 10)>ãè¿ãã¾ããåä½ã1ã¤ã ãæå®ãããå ´åã¯ãã¹ã«ã©ã¼ãè¿ãã¾ãã
=head2 inverse
$dur->inverse;
$dur->inverse( end_of_month => $mode );
ãã¹ã¦ã®ã³ã³ãã¼ãã³ãã®ç¬¦å·ãå転ããæ°ããæéãè¿ãã¾ããä»»æã§C<end_of_month>ã䏿¸ãã§ãã¾ãã
=head2 is_negative / is_positive / is_zero
è¿°èªã¡ã½ããã§ãã
=head2 is_wrap_mode / is_limit_mode / is_preserve_mode
C<end_of_month>ã¢ã¼ããä¸è´ããå ´åã«çãè¿ãã¾ãã
=head2 add
$dur->add( months => 1, days => 15 );
ãã¼ã¨å¤ã®ãã¢ã§æå®ãããæéï¼L</new>ã¨åããã¼ï¼ãããã®æéã«ãã®å ´ã§å ç®ãã¾ããC<$self>ãè¿ãã¾ãã
=head2 add_duration
$dur->add_duration( $other_dur );
å¥ã®L<DateTime::Lite::Duration>ãªãã¸ã§ã¯ããããã®æéã«ãã®å ´ã§å ç®ãã¾ããC<$self>ãè¿ãã¾ãã
=head2 subtract
$dur->subtract( days => 1 );
ãã¼ã¨å¤ã®ãã¢ã§æå®ãããæéãããã®æéãããã®å ´ã§æ¸ç®ãã¾ããéæéãå ç®ãããã¨ã¨åçã§ããC<$self>ãè¿ãã¾ãã
=head2 subtract_duration
( run in 0.706 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )