Branch Coverage

lib/Date/Manip/Date.pm
Criterion Covered Total %
branch 1120 1478 75.7


line true false branch
102 0 4093 unless ($instring)
135 8 4218 if ($self->_parse_rule("remove_trailing_period"))
143 42 4184 if ($self->_parse_rule("remove_parens"))
149 42 4184 if ($words)
160 1922 2304 if (defined $tmp)
168 2299 5 unless (exists $opts{'noiso8601'})
170 314 1985 if ($done)
186 1990 0 unless (exists $opts{'nospecial'})
188 24 1966 if ($done)
198 1103 863 if ($got_time)
202 10 1956 unless ($string)
210 1956 0 unless (exists $opts{'nodow'})
212 597 1359 if (@tmp)
213 12 585 if ($done) { }
222 1359 585 unless $dow
239 1650 294 if (@tmp)
242 0 538 if ($dow2 and $dow and $dow != $dow2)
246 538 1112 if $dow2
253 281 13 unless ($tzstring)
255 9 272 if @tmp
256 0 281 unless $string
261 22 272 if ($tzstring)
263 1 21 if (@tmp)
288 185 108 unless (exists $opts{'nodelta'})
292 30 155 if (@tmp)
297 36 149 if $done
305 0 149 if (@tmp)
311 0 149 if $done
316 257 0 unless (exists $opts{'noholidays'})
319 9 248 if (@tmp)
322 9 248 if $done
334 254 3972 if ($self->{'err'})
335 129 125 unless ($firsterr)
346 121 3972 if ($self->{'err'})
353 603 3369 unless ($got_time)
354 598 5 if ($default_time) { }
355 8 590 if (exists $self->{'data'}{'default_time'}) { }
574 16 elsif ($dmb->_config('defaulttime') eq 'midnight') { }
380 0 30 unless ($string)
387 0 30 if ($self->{'err'})
390 0 30 if ($self->{'data'}{'set'}) { }
402 5 25 if $self->{'err'}
414 0 1012 unless ($string)
423 2 1010 if ($self->{'err'})
426 7 1005 if ($self->{'data'}{'set'}) { }
439 1012 0 unless (exists $opts{'noiso8601'})
441 70 942 if ($done)
448 818 124 if (@tmp)
457 0 888 if $self->{'err'}
478 2837 71 exists $dmb->{'data'}{'rx'}{'other'}{'ignore'} ? :
484 0 2908 unless $string
495 2908 0 unless (exists $opts{'nodow'})
496 942 1966 unless (defined $dow)
498 664 278 if (@tmp)
499 6 658 if ($done) { }
506 278 658 unless $dow
512 2902 0 unless (exists $opts{'nocommon'})
514 1573 1329 if (@tmp)
522 1329 0 unless (exists $opts{'noother'})
524 874 455 if (@tmp)
532 420 10 unless ($dow or $of)
534 16 404 if (@tmp)
551 0 7 unless ($string)
560 0 7 if $err
561 0 7 unless $string =~ /$re/
576 0 7 if (defined $epochs)
579 0 0 if ($zone) { }
0 0 elsif ($abb or $off) { }
581 0 0 unless $z
585 0 0 unless ($z)
588 0 0 unless $z
598 0 7 if (defined $epocho)
609 0 7 if ($mon_name) { }
2 5 elsif ($mon_abb) { }
615 0 7 if ($nth)
619 0 7 if ($doy) { }
0 7 elsif ($g) { }
0 7 elsif ($l) { }
5 2 elsif ($m) { }
620 0 0 unless $y
625 0 0 unless $y
630 0 0 unless $y
641 4 3 if (defined $h)
645 2 5 if ($ampm)
646 0 2 if ($dmb->{'data'}{'wordmatch'}{'ampm'}{lc $ampm} == 2) { }
648 0 0 unless $h == 12
651 2 0 if $h == 12
658 0 7 if ($dow_name) { }
0 7 elsif ($dow_abb) { }
0 7 elsif ($dow_char) { }
669 2 5 unless ($m)
673 3 4 unless (defined $h)
682 1 6 if (wantarray)
708 0 7 if (exists $dmb->{'data'}{'format'}{$format})
718 0 65 if $format eq "%"
720 30 35 if ($format =~ s/^([^%]+)//)
728 5 30 if (exists $y_form{$f})
729 0 5 if ($y)
736 5 30 if (exists $m_form{$f})
737 0 5 if ($m)
744 5 30 if (exists $d_form{$f})
745 0 5 if ($d)
752 4 31 if (exists $h_form{$f})
753 0 4 if ($h)
760 4 31 if (exists $mn_form{$f})
761 0 4 if ($mn)
768 4 31 if (exists $s_form{$f})
769 0 4 if ($s)
776 0 35 if (exists $dow_form{$f})
777 0 0 if ($dow)
784 2 33 if (exists $am_form{$f})
785 0 2 if ($ampm)
792 2 33 if (exists $z_form{$f})
793 0 2 if ($zone)
800 0 35 if ($f eq 'G') { }
0 35 elsif ($f eq 'W') { }
0 35 elsif ($f eq 'L') { }
0 35 elsif ($f eq 'U') { }
801 0 0 if ($G)
808 0 0 if ($W)
815 0 0 if ($L)
822 0 0 if ($U)
831 5 30 if ($f eq 'Y') { }
0 30 elsif ($f eq 'y') { }
3 27 elsif ($f eq 'm') { }
0 27 elsif ($f eq 'f') { }
2 25 elsif (exists $mon_form{$f}) { }
0 25 elsif ($f eq 'j') { }
5 20 elsif ($f eq 'd') { }
0 20 elsif ($f eq 'e') { }
0 20 elsif (exists $day_form{$f}) { }
0 20 elsif ($f eq 'w') { }
0 20 elsif ($f eq 'E') { }
4 16 elsif ($f eq 'H' or $f eq 'I') { }
0 16 elsif ($f eq 'k' or $f eq 'i') { }
2 14 elsif ($f eq 'p') { }
4 10 elsif ($f eq 'M') { }
4 6 elsif ($f eq 'S') { }
2 4 elsif (exists $z_form{$f}) { }
0 4 elsif ($f eq 's') { }
0 4 elsif ($f eq 'o') { }
0 4 elsif ($f eq 'G') { }
0 4 elsif ($f eq 'W') { }
0 4 elsif ($f eq 'L') { }
0 4 elsif ($f eq 'U') { }
0 4 elsif ($f eq 'c') { }
0 4 elsif ($f eq 'C' or $f eq 'u') { }
0 4 elsif ($f eq 'g') { }
0 4 elsif ($f eq 'D') { }
2 2 elsif ($f eq 'r') { }
0 2 elsif ($f eq 'R') { }
2 0 elsif ($f eq 'T' or $f eq 'X') { }
0 0 elsif ($f eq 'V') { }
0 0 elsif ($f eq 'Q') { }
0 0 elsif ($f eq 'q') { }
0 0 elsif ($f eq 'P') { }
0 0 elsif ($f eq 'O') { }
0 0 elsif ($f eq 'F') { }
0 0 elsif ($f eq 'K') { }
0 0 elsif ($f eq 'J') { }
0 0 elsif ($f eq 'x') { }
0 0 elsif ($f eq 't') { }
0 0 elsif ($f eq '%') { }
0 0 elsif ($f eq '+') { }
953 0 0 if ($dmb->_config('dateformat') eq 'US') { }
970 0 7 if ($m != $d) { }
0 7 elsif ($h || $mn || $s and not $h && $mn) { }
0 7 elsif ($ampm and not $h) { }
0 7 elsif ($G != $W) { }
0 7 elsif ($L != $U) { }
982 0 7 if ($err)
1000 92 12586 if (exists $dmb->{'data'}{'lang'}{'_special_rules'} and exists $dmb->{'data'}{'lang'}{'_special_rules'}{$rule})
1020 1105 3787 if ($dow)
1022 4 1101 if ($tmp != $dow)
1030 5 4883 if ($h == 24)
1035 8 4880 unless ($dmb->check([$y, $m, $d, $h, $mn, $s]))
1049 105 4775 defined $abb ? :
1050 52 4828 defined $off ? :
1053 8 4872 if (defined $zone) { }
144 4728 elsif (defined $abb or defined $off) { }
1055 8 0 if ($zonename)
1062 137 7 if ($zonename)
1066 4 140 if (not @tmp and defined $abb)
1068 0 4 if ($tmp)
1076 4728 0 if ($zonename)
1081 7 4873 unless ($zonename)
1082 0 7 if (defined $zone) { }
1090 1 4872 unless (@tmp)
1100 0 4872 if $self->{'err'}
1103 8 4864 if defined $zone
1113 49 4824 if (defined $off)
1119 2 4875 unless $per
1124 2 4873 if defined $abb and lc $a ne lc $abb
1127 50 4823 if (defined $off)
1128 0 49 if $off->[0] != $o->[0] or $off->[1] != $o->[1] or $off->[2] != $o->[2]
1159 3403 265 if exists $dmb->{'data'}{'rx'}{'iso'}{$rx}
1161 86 179 if ($rx eq 'cdate' or $rx eq 'tdate') { }
75 104 elsif ($rx eq 'ctime' or $rx eq 'ttime') { }
29 75 elsif ($rx eq 'date') { }
1 74 elsif ($rx eq 'time') { }
74 0 elsif ($rx eq 'fulldate') { }
1323 314 1985 if ($string =~ /$daterx/) { }
1328 39 275 if (defined $w or defined $dow) { }
16 259 elsif (defined $doy) { }
1333 0 259 if defined $c
1354 70 942 if ($string =~ /^$daterx$/) { }
1358 30 40 if (defined $w or defined $dow) { }
7 33 elsif (defined $doy) { }
1363 0 33 if defined $c
1379 76 1366 if (defined $ampm and $ampm)
1382 70 6 if ($dmb->{'data'}{'wordmatch'}{'ampm'}{lc $ampm} == 2) { }
1384 70 0 unless $h == 12
1387 1 5 if $h == 12
1391 4 1438 if (defined $h24) { }
12 1426 elsif (defined $fh and $fh ne '') { }
8 2836 elsif (defined $fm and $fm ne '') { }
1414 0 488 unless defined $rx
1416 60 428 if ($rx eq 'time') { }
71 357 elsif ($rx eq 'common_1') { }
71 286 elsif ($rx eq 'common_2') { }
35 251 elsif ($rx eq 'truncated') { }
71 180 elsif ($rx eq 'dow') { }
71 109 elsif ($rx eq 'ignore') { }
63 46 elsif ($rx eq 'miscdatetime') { }
46 0 elsif ($rx eq 'misc') { }
1426 3 57 if (exists $dmb->{'data'}{'rx'}{'sepfr'} and $dmb->{'data'}{'rx'}{'sepfr'}) { }
1433 3 57 if ($sepfr) { }
1447 60 0 if (exists $dmb->{'data'}{'rx'}{'ampm'})
1455 1 59 if ($dmb->_config("periodtimesep"))
1459 8 0 if (exists $dmb->{'data'}{'rx'}{'sephm'} and defined $dmb->{'data'}{'rx'}{'sephm'} and exists $dmb->{'data'}{'rx'}{'sepms'} and defined $dmb->{'data'}{'rx'}{'sepms'})
1475 70 0 if $ampm
1487 70 0 if $ampm
1497 70 0 if $ampm
1506 60 0 if $ampm
1565 67 4 unless $format_mmmyyyy
1612 4 31 if $format_mmmyyyy
1620 4 31 if (@daterx) { }
1764 30 1966 if ($caller eq "parse_time")
1766 29 1 exists $dmb->{'data'}{'rx'}{'iso'}{'time'} ? :
1769 30 0 unless (exists $opts{'noiso8601'})
1770 14 16 if ($string =~ s/^\s*$timerx\s*$//)
1775 0 0 if $h == 24 and $mn == 0 and $s == 0
1784 1982 0 unless ($got_time or exists $opts{'noother'})
1789 179 3874 if ($string =~ /$rx/)
1798 1982 14 unless ($got_time)
1800 1922 60 exists $dmb->{'data'}{'rx'}{'other'}{'time'} ? :
1803 1119 863 if ($string =~ s/$timerx/ /)
1808 1 0 if $h == 24 and $mn == 0 and $s == 0
1817 1966 30 if ($caller eq "parse")
1818 1103 863 if ($got_time) { }
1828 5 25 if (not $got_time or $string)
1850 2831 71 exists $dmb->{'data'}{'rx'}{'other'}{'common_1'} ? :
1853 228 2674 if ($string =~ /$daterx/)
1856 20 208 if ($dmb->_config("dateformat") ne "US")
1865 2603 71 exists $dmb->{'data'}{'rx'}{'other'}{'common_2'} ? :
1868 1345 1329 if ($string =~ /$daterx/)
1871 1224 121 if ($mmm) { }
115 6 elsif ($month) { }
1891 385 35 exists $dmb->{'data'}{'rx'}{'other'}{'truncated'} ? :
1894 404 16 unless $daterx
1902 16 0 if ($string =~ /$daterx/)
1906 16 0 if ($mmm) { }
0 0 elsif ($month) { }
1914 16 0 if ($y and $m)
1917 8 8 if ($format_mmmyyyy eq 'first') { }
1941 9 272 if ($string =~ s/(?:^|\s)$rx(?:$|\s)/ /)
1957 2827 71 exists $dmb->{'data'}{'rx'}{'other'}{'dow'} ? :
1959 1261 1637 if ($string =~ s/$rx/ /) { }
1964 567 694 if exists $dmb->{'data'}{'wordmatch'}{'day_abb'}{$dow}
1966 694 567 if exists $dmb->{'data'}{'wordmatch'}{'day_name'}{$dow}
1974 1243 18 if $string
1985 0 18 if $dow1 > $dow
1997 150 107 unless (exists $dmb->{'data'}{'rx'}{'holidays'})
2005 9 98 if ($string =~ /$rx/)
2008 5 4 unless $y
2014 0 9 unless exists $dmb->{'data'}{'holidays'}{'yhols'}{$y + 0}{$hol}
2034 36 298 unless ($err)
2038 0 36 if (abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000 or abs $dh > 87840000 or abs $dmn > 5270400000 or abs $ds > '316224000000')
2049 4 6 if ($got_time and $dh != 0 || $dmn != 0 || $ds != 0)
2055 6 24 if ($got_time) { }
2062 0 30 $delta->{'data'}{'mode'} eq 'business' ? :
2071 10 20 if ($dow)
2072 0 10 if ($dd != 0 or $dh != 0 or $dmn != 0 or $ds != 0)
2082 0 10 if $dow1 > $dow
2099 1927 63 exists $dmb->{'data'}{'rx'}{'other'}{'miscdatetime'} ? :
2102 24 1966 if ($string =~ /$rx/)
2106 18 6 if (defined $special) { }
5 1 elsif (defined $epoch) { }
1 0 elsif (defined $y) { }
2118 1 17 if ($tzstring)
2120 0 1 unless defined $date2
2121 0 1 defined $off ? :
2122 0 1 defined $zone ? :
2123 1 0 defined $abb ? :
2127 0 0 if (not $tmp and $abbrev and not $zone)
2129 0 0 if $abbrev
2133 0 1 unless $zone
2148 1 4 if ($tzstring) { }
2150 0 1 defined $off ? :
2151 0 1 defined $zone ? :
2152 1 0 defined $abb ? :
2156 0 0 if (not $tmp and $abbrev and not $zone)
2158 0 0 if $abbrev
2162 0 1 unless $zone
2186 1283 46 exists $dmb->{'data'}{'rx'}{'other'}{'misc'} ? :
2192 879 450 if ($string =~ /$rx/) { }
2198 90 789 if (defined $y) { }
2201 0 90 unless $y
2209 698 181 if (defined $mmm) { }
31 150 elsif ($month) { }
2217 632 247 if ($nth)
2221 32 847 if ($got_m and $nth and not $dow) { }
50 797 elsif ($nextprev) { }
127 670 elsif ($last) { }
584 86 elsif ($nth and $dow and not $field_w) { }
25 61 elsif ($field_w and $dow) { }
5 56 elsif ($nth and not $got_y) { }
56 0 elsif ($special) { }
2233 22 28 if ($dmb->{'data'}{'wordmatch'}{'nextprev'}{lc $nextprev} == 1)
2238 28 22 if ($field_y or $field_m or $field_w) { }
22 0 elsif ($dow) { }
2242 8 20 if ($field_y) { }
10 10 elsif ($field_m) { }
2274 6 121 if ($field_d and $got_m) { }
120 1 elsif ($dow and $got_m) { }
1 0 elsif ($dow) { }
2299 571 13 if ($got_m) { }
2300 569 2 if ($of) { }
2302 2 567 if $nth > 5
2308 454 113 if $nth > 1
2310 0 567 if not $m2 or $m2 != $m
2321 9 4 if $nth > 1
2327 23 2 if (defined $n or $nth) { }
2331 11 12 if $nth
2332 2 21 unless $n
2349 0 4 if $field_d or $field_w or $field_m or $field_y
2367 8 48 if ($field_w)
2382 324 1580 unless defined $y
2383 65 1839 unless defined $m
2384 69 1835 unless defined $d
2393 324 1580 if ($y eq '') { }
2407 1839 65 if ($m ne '') { }
4 61 elsif ($defined) { }
2423 1835 69 if ($d ne '') { }
13 56 elsif ($defined) { }
2440 2 21 unless defined $y
2448 2 21 if ($y eq '') { }
2467 20 49 unless defined $y
2468 8 61 unless defined $w
2469 18 51 unless defined $dow
2480 49 20 if ($y ne '') { }
2481 0 49 if (length $y == 1) { }
2502 61 8 if ($w ne '') { }
2514 18 51 if ($dow eq "")
2519 5 64 if ($d > $n)
2521 0 5 if ($m == 13)
2534 126 2454 unless defined $h
2535 143 2437 unless defined $m
2536 414 2166 unless defined $s
2543 126 0 if ($h eq "" and $m eq "" and $s eq "")
2554 2454 0 if ($h ne '') { }
2567 2437 17 if ($m ne '') { }
17 0 elsif ($defined) { }
2581 288 2166 if ($s eq "")
2606 15 32661 unless ($self->{'data'}{'set'})
2611 29453 3208 unless $type
2613 2989 29672 if ($type eq 'gmt') { }
219 29453 elsif ($type eq 'local') { }
2615 2687 302 unless (@{$self->{'data'}{'gmt'};})
2619 0 2687 if ($zone eq 'Etc/GMT') { }
2625 0 2687 if ($err)
2636 219 0 unless (@{$self->{'data'}{'loc'};})
2641 192 27 if ($zone eq $local) { }
2647 0 27 if ($err)
2665 18 32658 if ($self->{'err'})
2666 18 0 if (wantarray) { }
2673 7934 24724 if (wantarray) { }
2682 0 10663 if ($self->{'err'} or not $self->{'data'}{'set'})
2687 0 10663 if (!ref($date) eq "Date::Manip::Date")
2691 0 10663 if ($date->{'err'} or not $date->{'data'}{'set'})
2697 10662 1 if ($self->{'data'}{'tz'} eq $date->{'data'}{'tz'}) { }
2723 4876 5635 if ($field eq 'zdate') { }
5569 66 elsif ($field eq 'date') { }
2730 4 4872 if $self->{'data'}{'set'} != 2
2734 319 5250 if ($self->{'data'}{'set'} and not $self->{'err'}) { }
2743 0 66 if $self->{'err'} or not $self->{'data'}{'set'}
2755 5569 4942 if ($field eq 'date') { }
64 4878 elsif ($field eq 'time') { }
4876 2 elsif ($field eq 'zdate') { }
0 2 elsif ($field eq 'zone') { }
2 0 elsif (exists $field{$field}) { }
2757 5554 15 if ($#val == 0) { }
15 0 elsif ($#val == 1) { }
2767 0 33414 if $def[$i]
2772 64 0 if ($#val == 0) { }
0 0 elsif ($#val == 1) { }
2781 0 64 if $def[3]
2782 0 64 if $def[4]
2783 1 63 if $def[5]
2787 2 4874 if ($#val == 0) { }
0 4874 elsif ($#val == 1 and $val[1] eq '0' || $val[1] eq '1') { }
2 4872 elsif ($#val == 1) { }
4872 0 elsif ($#val == 2) { }
2802 4 4872 if ($self->{'data'}{'set'} != 2)
2804 0 24 if $def[$i]
2807 2 4874 unless $new_tz
2811 0 0 if ($#val == -1) { }
0 0 elsif ($#val == 0 and $val[0] eq '0' || $val[0] eq '1') { }
0 0 elsif ($#val == 0) { }
0 0 elsif ($#val == 1) { }
2825 0 0 unless $new_tz
2831 2 0 if ($#val == 0) { }
0 0 elsif ($#val == 1) { }
2840 0 2 if $def[$i]
2848 0 10511 if ($err)
2849 0 0 if ($err == 1) { }
2859 4874 5637 if ($new_tz)
2861 4874 0 if ($tmp) { }
2869 0 0 $isdst ? :
0 0 if defined $isdst
2873 0 0 unless ($tz)
2880 10445 66 if ($new_date)
2881 10441 4 if ($dmb->check($new_date)) { }
2889 64 10443 if ($new_time)
2890 64 0 if ($dmb->check_time($new_time)) { }
2903 42 10465 if ($tz eq 'etc/gmt') { }
2909 3 10462 unless ($per)
2937 0 75 if $self->{'err'} or not $self->{'data'}{'set'}
2942 0 75 unless defined $date
2949 0 75 if $self->{'err'} or not $self->{'data'}{'set'}
2954 0 75 unless defined $date
2963 944 254 if ($next) { }
2979 366 832 if (defined $time)
2980 34 332 if ($dow) { }
2983 0 34 if ($err)
2991 0 332 if ($#tmp != 2)
2996 296 36 if (defined $h) { }
24 12 elsif (defined $mn) { }
2997 14 282 unless defined $mn
2998 3 293 unless defined $s
3000 0 24 unless defined $s
3002 0 12 unless defined $s
3010 866 332 if ($dow)
3012 0 866 unless ($dmb->_is_int($dow, 1, 7))
3022 182 684 if ($dow == $curr_dow) { }
3023 62 120 if $curr == 0
3027 559 125 if ($next) { }
3029 449 110 if $dow < $curr_dow
3033 20 105 if $dow > $curr_dow
3042 34 832 if (defined $time)
3049 8 858 if $curr == 2 and $cmp != -1 * $sign
3051 70 796 if ($adjust)
3061 332 0 if (defined $time)
3067 296 36 if (defined $h) { }
24 12 elsif (defined $mn) { }
3072 109 187 if ($cmp == -1) { }
69 118 elsif ($cmp == 1) { }
3073 10 99 if ($prev)
3077 69 0 if ($next)
3081 102 16 unless ($curr)
3092 0 24 if ($cmp == -1) { }
8 16 elsif ($cmp == 1) { }
3093 0 0 if ($prev)
3097 4 4 if ($next)
3101 8 8 unless ($curr)
3112 0 12 if ($cmp == -1) { }
0 12 elsif ($cmp == 1) { }
3113 0 0 if ($prev)
3117 0 0 if ($next)
3121 8 4 unless ($curr)
3140 1430 3178 if (ref $obj eq 'Date::Manip::Date') { }
3178 0 elsif (ref $obj eq 'Date::Manip::Delta') { }
3155 0 1430 if ($self->{'err'} or not $self->{'data'}{'set'})
3160 0 1430 if ($date->{'err'} or not $date->{'data'}{'set'})
3169 1155 275 if ($#args == -1) { }
226 49 elsif ($#args == 0) { }
49 0 elsif ($#args == 1) { }
3172 0 226 if ($args[0] eq '0' or $args[0] eq '1') { }
3184 1155 275 unless $mode
3186 0 1430 unless ($mode =~ /^(business|bsemi|bapprox|approx|semi|exact)$/i)
3203 156 1274 if ($mode eq 'business' or $mode eq 'bapprox' or $mode eq 'bsemi') { }
86 1188 elsif ($mode eq 'approx' || $mode eq 'semi' and $self->{'data'}{'tz'} eq $date->{'data'}{'tz'}) { }
3204 156 0 if ($self->{'data'}{'tz'} eq $date->{'data'}{'tz'}) { }
3238 42 1388 if ($subtract) { }
3239 23 19 if ($mode eq 'business' or $mode eq 'exact' or $subtract == 2) { }
3254 156 1274 if ($mode eq 'business' or $mode eq 'bapprox' or $mode eq 'bsemi') { }
3269 112 1318 if ($mode eq "approx" or $mode eq "bapprox")
3275 90 22 if ($dy or $dm)
3282 6 84 if $d1 > $dim
3288 88 1342 if ($mode eq "semi" or $mode eq "approx")
3302 69 19 if ($dw or $dd)
3307 25 7 if ($dy or $dm or $dw or $dd)
3308 39 42 $dw > 0 || $dd > 0 ? :
3315 94 1336 if ($mode eq "bsemi" or $mode eq "bapprox")
3327 88 156 if ($mode eq "exact" or $mode eq "semi" or $mode eq "approx")
3341 94 1274 if ($mode eq "business" or $mode eq "bsemi" or $mode eq "bapprox")
3354 2 154 if ($y1 < $y2) { }
3 151 elsif ($y1 > $y2) { }
2 149 elsif ($m1 < $m2) { }
3 146 elsif ($m1 > $m2) { }
73 73 elsif ($d1 < $d2) { }
33 40 elsif ($d1 > $d2) { }
3373 297 159 if $self->__is_business_day([$y1, $m1, $d1, 0, 0, 0], 0)
3374 116 323 if $y1 == $y2 and $m1 == $m2 and $d1 == $d2
3393 0 3178 if ($self->{'err'} or not $self->{'data'}{'set'})
3398 0 3178 if ($delta->{'err'})
3405 1942 1236 unless $subtract
3408 75 3103 $delta->{'data'}{'mode'} eq 'business' ? :
3414 0 3176 if (abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000 or abs $dh > 87840000 or abs $dmn > 5270400000 or abs $ds > '316224000000')
3429 1 3175 if (ref $date2 eq 'ARRAY' and $date2->[0] < 0 || $date2->[0] > 9999) { }
2 3173 elsif ($err) { }
3461 75 3233 if ($business) { }
3465 2 73 if ($subtract == 2 and not $self->__is_business_day($date, 1))
3474 1198 2108 if ($subtract == 2 and $dy || $dm || $dw || $dd_approx) { }
3495 1198 0 unless $err
3506 36 2072 if $subtract
3510 1867 241 if ($dy or $dm or $dw or $dd) { }
48 193 elsif ($business) { }
3518 54 1840 if not $err and $dd_exact || $dh || $dmn || $ds
3569 0 1198 if ($business) { }
3583 0 0 if ($cmp < 0) { }
0 0 elsif ($cmp > 0) { }
3589 0 0 if ($cmp < 0) { }
0 0 elsif ($cmp > 0) { }
3604 0 0 if ($cmp > 0) { }
0 0 elsif ($cmp < 0) { }
3626 8 1190 if ($cmp < 0) { }
2 1188 elsif ($cmp > 0) { }
3631 1 8 if ($cmp < 0) { }
0 8 elsif ($cmp > 0) { }
3645 0 2 if ($cmp > 0) { }
0 2 elsif ($cmp < 0) { }
3664 0 1198 unless defined $date2
3692 1411 456 if $dy
3693 384 1483 if $dm
3697 1 1866 if $d > $dim
3708 25 1842 if ($business) { }
3709 5 20 if $dw
3720 267 1600 if ($dd)
3736 1784 83 $dd > 0 || $dw > 0 || $dm > 0 || $dy > 0 ? :
3750 68 1398 if ($business) { }
3773 20 48 if ($dd)
3775 4 16 if ($dd < 1)
3797 20 48 if ($h > $hend or $h == $hend and $mn > $mend or $h == $hend and $mn == $mend and $s > $send or $h == $hend and $mn == $mend and $s == $send) { }
15 33 elsif ($h < $hbeg or $h == $hbeg and $mn < $mbeg or $h == $hbeg and $mn == $mbeg and $s < $sbeg) { }
3808 20 6 if $self->__is_business_day([$y, $m, $d, $h, $mn, $s])
3823 15 2 if $self->__is_business_day([$y, $m, $d, $h, $mn, $s])
3831 51 17 $dd > 0 || $dh > 0 || $dmn > 0 || $ds > 0 ? :
3851 1 1397 if $date->[0] < 0 or $date->[0] > 9999
3887 3214 0 if ($per)
3894 0 0 if ($per)
3906 0 0 unless ($force)
3911 0 0 if ($force > 0) { }
3920 0 0 unless $per
3941 3 5 if (defined $secs)
3945 0 3 if $err
3950 0 5 if ($self->{'err'} or not $self->{'data'}{'set'})
3962 0 27 if ($self->{'err'} or not $self->{'data'}{'set'})
3977 9 18 if ($dmb->_config('jan1week1')) { }
3987 0 27 unless ($first)
3994 12 15 if $first > $dow
3997 2 25 if $day > $doy
4003 0 7 if ($self->{'err'} or not $self->{'data'}{'set'})
4008 4 3 unless ($field)
4013 1 1 unless $self->{'data'}{'def'}[1] or $self->{'data'}{'def'}[2] or $self->{'data'}{'def'}[3] or $self->{'data'}{'def'}[4] or $self->{'data'}{'def'}[5]
4017 1 2 if ($field eq "m")
4018 1 0 unless $self->{'data'}{'def'}[1]
4021 0 2 if ($field eq "d")
4022 0 0 unless $self->{'data'}{'def'}[2]
4025 1 1 if ($field eq "h")
4026 1 0 unless $self->{'data'}{'def'}[3]
4029 0 1 if ($field eq "mn")
4030 0 0 unless $self->{'data'}{'def'}[4]
4033 1 0 if ($field eq "s")
4034 0 1 unless $self->{'data'}{'def'}[5]
4041 0 12 if ($self->{'err'} or not $self->{'data'}{'set'})
4050 0 12 unless ($zonename)
4061 0 12 if ($err)
4082 0 13 if ($self->{'err'} or not $self->{'data'}{'set'})
4100 1244 3271 if $dow < $dmb->_config("workweekbeg") or $dow > $dmb->_config("workweekend")
4106 559 2712 if ($checktime and not $dmb->_config("workday24hr"))
4111 129 430 if $t lt $t0 or $t gt $t1
4116 1111 2031 unless ($dmb->{'data'}{'init_holidays'})
4125 585 1530 if exists $dmb->{'data'}{'holidays'}{'dates'} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0}{$d + 0}
4135 1 83 if not $y and $self->{'data'}{'set'} == 1
4136 1 83 unless $y
4157 0 33 if ($self->{'err'} or not $self->{'data'}{'set'})
4169 23 10 if (exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0}{$d + 0})
4175 2 26 if $tmp =~ /DMunnamed/
4178 22 1 if (wantarray) { }
4179 0 22 unless @tmp
4182 0 1 unless @tmp
4191 0 12 if ($self->{'err'} or not $self->{'data'}{'set'})
4204 0 12 if ($self->{'err'} or not $self->{'data'}{'set'})
4225 244 211 if ($checktime) { }
4239 92 129 if ($prev) { }
4246 140 81 if $self->__is_business_day([$y, $m, $d, $h, $mn, $s])
4256 0 6 if ($self->{'err'} or not $self->{'data'}{'set'})
4267 4 2 unless defined $date
4277 4 2 if $self->__is_business_day($date, 0)
4282 2 0 unless defined $tomorrow
4285 2 0 if ($tomorrow) { }
4297 1 1 if ($self->__is_business_day([$y1, $m1, $d1, $h, $mn, $s], 0))
4302 1 0 if ($self->__is_business_day([$y2, $m2, $d2, $h, $mn, $s], 0))
4333 14 193 unless ($name)
4345 105 102 unless ($err)
4348 92 13 if ($date->{'data'}{'def'}[0] eq '') { }
4364 0 13 if (exists $dmb->{'data'}{'holidays'}{'hols'}{$name}{$y + 0})
4372 0 13 if (exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0}{$d + 0}) { }
4387 102 0 unless ($err)
4406 3446 265 if $dmb->{'data'}{'holidays'}{'ydone'}{$year + 0}
4407 34 231 unless $dmb->{'data'}{'holidays'}{'init'}
4431 24 1350 if exists $dmb->{'data'}{'holidays'}{'hols'}{$name}{$year + 0}
4433 766 584 if (ref $obj) { }
4445 84 682 if ($obj->start and $obj->end) { }
4457 213 665 if (exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0}{$d + 0}) { }
4472 8 576 if (exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0}{$d + 0}) { }
4498 0 47 if ($self->{'err'} or not $self->{'data'}{'set'})
4512 0 559 if $in eq "%"
4516 230 329 if ($in =~ s/^([^%]+)//)
4523 20 309 if ($in =~ s/^%<([^>]+)>//)
4527 3 17 if ($f =~ /^a=([1-7])$/) { }
3 14 elsif ($f =~ /^v=([1-7])$/) { }
3 11 elsif ($f =~ /^A=([1-7])$/) { }
2 9 elsif ($f =~ /^p=([1-2])$/) { }
3 6 elsif ($f =~ /^b=(0?[1-9]|1[0-2])$/) { }
3 3 elsif ($f =~ /^B=(0?[1-9]|1[0-2])$/) { }
3 0 elsif ($f =~ /^E=(0?[1-9]|[1-4][0-9]|5[0-3])$/) { }
4560 27 282 if (exists $self->{'data'}{'f'}{$f})
4567 133 149 if (exists $pad_0{$f})
4571 23 259 if (exists $pad_sp{$f})
4575 5 277 if ($f eq "G" or $f eq "W")
4577 2 3 if ($f eq 'G') { }
4586 3 279 if ($f eq "L" or $f eq "U")
4588 1 2 if ($f eq 'L') { }
4597 28 254 if ($f eq "Y" or $f eq "y")
4602 8 274 if ($f eq "m" or $f eq "f")
4607 29 253 if ($f eq "d" or $f eq "e")
4612 3 279 if ($f eq "j")
4618 34 248 if (exists $hr{$f})
4620 7 27 if ($f eq "I" or $f eq "i")
4621 2 5 if $val > 12
4622 0 7 if $val == 0
4627 24 258 if ($f eq "M")
4632 22 260 if ($f eq "S")
4637 26 256 if (exists $dow{$f})
4643 156 126 if (exists $num{$f}) { }
24 102 elsif ($f eq 'b' or $f eq 'h') { }
3 99 elsif ($f eq 'B') { }
2 97 elsif ($f eq 'v') { }
18 79 elsif ($f eq 'a') { }
3 76 elsif ($f eq 'A') { }
3 73 elsif ($f eq 'w') { }
4 69 elsif ($f eq 'p') { }
19 50 elsif ($f eq 'Z') { }
4 46 elsif ($f eq 'N') { }
4 42 elsif ($f eq 'z') { }
2 40 elsif ($f eq 'E') { }
2 38 elsif ($f eq 's') { }
2 36 elsif ($f eq 'o') { }
4 32 elsif ($f eq 'l') { }
1 31 elsif ($f eq 'c') { }
2 29 elsif ($f eq 'C' or $f eq 'u') { }
13 16 elsif ($f eq 'g') { }
2 14 elsif ($f eq 'D') { }
1 13 elsif ($f eq 'r') { }
1 12 elsif ($f eq 'R') { }
2 10 elsif ($f eq 'T' or $f eq 'X') { }
1 9 elsif ($f eq 'V') { }
1 8 elsif ($f eq 'Q') { }
1 7 elsif ($f eq 'q') { }
1 6 elsif ($f eq 'P') { }
1 5 elsif ($f eq 'O') { }
1 4 elsif ($f eq 'F') { }
1 3 elsif ($f eq 'K') { }
2 1 elsif ($f eq 'x') { }
1 0 elsif ($f eq 'J') { }
0 0 elsif ($f eq 'n') { }
0 0 elsif ($f eq 't') { }
4648 5 151 if $f eq "y"
4669 1 3 $h >= 12 ? :
4705 2 2 if ($date lt $d0 or $date ge $d1) { }
4769 1 1 if ($dmb->_config('dateformat') eq 'US') { }
4790 246 36 if ($val ne "")
4798 35 12 if (wantarray) { }
12 0 elsif (@out == 1) { }
4813 0 21 if ($self->{'err'} or not $self->{'data'}{'set'})
4823 9 12 if (@args and $args[$#args] eq 'dates') { }
4830 4 17 if (@args and $#args == 0 and ref $args[0] eq 'Date::Manip::Date') { }
2 15 elsif (@args and $#args == 0 and $args[0] == 0) { }
0 15 elsif (@args) { }
4842 4 17 if ($date) { }
2 15 elsif ($day) { }
4856 0 21 if ($beg->cmp($end) == 1)
4876 129 102 if ($type eq 'specified') { }
52 50 elsif ($type eq 'ym' or $type eq 'date') { }
50 0 elsif ($type eq 'recur') { }
4883 52 0 if (exists $dmb->{'data'}{'events'}{$i}{$y})
4906 48 137 if $beg->cmp($d1) != 1 and $end->cmp($d0) != -1
4912 12 9 if ($format eq 'std') { }
9 0 elsif ($format eq 'dates') { }
4913 0 13 unless $Date::Manip::Date::a->[0]->cmp($Date::Manip::Date::b->[0]) or $Date::Manip::Date::a->[1]->cmp($Date::Manip::Date::b->[1])
4925 9 13 if ($e->[0]->cmp($beg) == -1) { }
4934 12 10 if ($d1->cmp($end) == -1)
4940 0 9 unless @tmp2
4941 0 46 unless $Date::Manip::Date::a->[0]->cmp($Date::Manip::Date::b->[0]) or $Date::Manip::Date::a->[1] cmp $Date::Manip::Date::b->[1]
4951 1 8 if ($beg->cmp($d) != 0)
4964 34 16 if ($d->cmp($d0) == 0)
4968 22 12 if ($op eq '+') { }
4974 25 9 if @tmp2
4985 9 16 unless @tmp2
5000 0 21 if exists $dmb->{'data'}{'eventyears'}{$y}
5001 3 18 unless $dmb->{'data'}{'eventobjs'}
5016 26 205 if ($type eq 'ym') { }
26 179 elsif ($type eq 'date') { }
5024 13 13 if ($end) { }
5041 0 26 if ($end) { }
26 0 elsif ($del) { }
5078 15 18 if ($#event == 0) { }
18 0 elsif ($#event == 1) { }
5084 6 9 unless ($err)
5085 2 4 if ($d1->{'data'}{'def'}[0] eq '') { }
5107 5 4 unless ($err)
5108 2 3 if ($d1->{'data'}{'def'}[0] eq '') { }
5131 0 4 if ($err)
5138 0 4 if (@d) { }
5163 9 9 unless ($err)
5166 0 9 if ($err) { }
0 9 elsif ($d1->{'data'}{'def'}[0] ne $d2->{'data'}{'def'}[0]) { }
5176 2 7 if ($d1->{'data'}{'def'}[0] eq '') { }
5199 6 3 unless ($err)
5204 2 4 unless ($err)
5206 0 2 if ($d1->{'data'}{'def'}[0] ne $d2->{'data'}{'def'}[0])
5213 0 2 if ($d1->{'data'}{'def'}[0] eq '') { }
5235 0 4 if ($err)
5242 2 2 if ($d1->{'data'}{'def'}[0] eq '') { }
5267 3 0 unless ($err)
5271 0 3 if ($err)
5280 0 3 if (@d) { }