Skip to content

Commit

Permalink
Import of GBARR/TimeDate-1.15 from CPAN.
Browse files Browse the repository at this point in the history
gitpan-cpan-distribution: TimeDate
gitpan-cpan-version:      1.15
gitpan-cpan-path:         GBARR/TimeDate-1.15.tar.gz
gitpan-cpan-author:       GBARR
gitpan-cpan-maturity:     released
  • Loading branch information
gbarr authored and Gitpan committed Oct 24, 2014
1 parent e01ee91 commit 1b394d6
Show file tree
Hide file tree
Showing 21 changed files with 805 additions and 29 deletions.
55 changes: 55 additions & 0 deletions ChangeLog
@@ -1,3 +1,58 @@
Change 812 on 2003/06/02 by <gbarr@pobox.com> (Graham Barr)

Fix comments about Language implementation in Date::Parse
(patch from Christian Hammers)

Change 811 on 2003/06/02 by <gbarr@pobox.com> (Graham Barr)

Fix short name for 'maart' to be 'mrt' as suggested by Frank Maas

Change 810 on 2003/06/02 by <gbarr@pobox.com> (Graham Barr)

Add %G format for GPS week (patch from Eric Richardson)

Change 809 on 2003/06/02 by <gbarr@pobox.com> (Graham Barr)

Language updates from Daniel Yacob

Change 808 on 2003/06/02 by <gbarr@pobox.com> (Graham Barr)

str2time("") should return undef

Change 807 on 2003/06/02 by <gbarr@pobox.com> (Graham Barr)

Added Swedish and Finnish languages from Matthew Musgrove

Change 778 on 2003/03/03 by <gbarr@pobox.com> (Graham Barr)

Added Chinese_GB language.
Supplied by forehead (I don't even pretend tounderstand it)

Change 777 on 2003/03/03 by <gbarr@pobox.com> (Graham Barr)

Return fractional seconds when specified in an ISO date

Change 776 on 2003/03/03 by <gbarr@pobox.com> (Graham Barr)

New languages from Daniel Yacob

Change 775 on 2003/03/03 by <gbarr@pobox.com> (Graham Barr)

Fix UTC support on ISO dates

Change 774 on 2003/03/03 by <gbarr@pobox.com> (Graham Barr)

Allow a : in a timezone so the dates specified in RSS can be parsed
(eg 2002-11-07T23:31:49-05:00) Patch from Kellan

Change 773 on 2003/03/03 by <gbarr@pobox.com> (Graham Barr)

Support parsing more formats

Change 754 on 2002/11/03 by <gbarr@pobox.com> (Graham Barr)

Release 1.14

Change 753 on 2002/11/03 by <gbarr@pobox.com> (Graham Barr)

Fix bug parsing 2002-11-02 11pm
Expand Down
12 changes: 12 additions & 0 deletions MANIFEST
Expand Up @@ -4,17 +4,29 @@ Makefile.PL
README
lib/Date/Format.pm
lib/Date/Language.pm
lib/Date/Language/Afar.pm
lib/Date/Language/Amharic.pm
lib/Date/Language/Austrian.pm
lib/Date/Language/Brazilian.pm
lib/Date/Language/Chinese_GB.pm
lib/Date/Language/Czech.pm
lib/Date/Language/Danish.pm
lib/Date/Language/Dutch.pm
lib/Date/Language/English.pm
lib/Date/Language/Finnish.pm
lib/Date/Language/French.pm
lib/Date/Language/Gedeo.pm
lib/Date/Language/German.pm
lib/Date/Language/Greek.pm
lib/Date/Language/Italian.pm
lib/Date/Language/Norwegian.pm
lib/Date/Language/Oromo.pm
lib/Date/Language/Sidama.pm
lib/Date/Language/Somali.pm
lib/Date/Language/Swedish.pm
lib/Date/Language/Tigrinya.pm
lib/Date/Language/TigrinyaEritrean.pm
lib/Date/Language/TigrinyaEthiopian.pm
lib/Date/Parse.pm
lib/Time/Zone.pm
t/date.t
Expand Down
4 changes: 2 additions & 2 deletions Makefile.PL
@@ -1,10 +1,10 @@
# This -*- perl -*- script makes the Makefile
# $Id: //depot/TimeDate/Makefile.PL#9 $
# $Id: //depot/TimeDate/Makefile.PL#10 $

#--- Distribution section ---

$DISTNAME = 'TimeDate';
$VERSION = "1.14";
$VERSION = "1.15";

#--- Write the Makefile

Expand Down
6 changes: 5 additions & 1 deletion lib/Date/Format.pm
@@ -1,4 +1,4 @@
# Date::Format $Id: //depot/TimeDate/lib/Date/Format.pm#8 $
# Date::Format $Id: //depot/TimeDate/lib/Date/Format.pm#9 $
#
# Copyright (c) 1995-1999 Graham Barr. All rights reserved. This program is free
# software; you can redistribute it and/or modify it under the same terms
Expand Down Expand Up @@ -122,6 +122,7 @@ sub time2str
{
@$me = localtime($time);
}
$me->[9] = $time;
_subs($me,$fmt);
}

Expand Down Expand Up @@ -263,6 +264,8 @@ sub format_Oq { roman(format_q(@_)) }
sub format_Oy { roman(format_y(@_)) }
sub format_OY { roman(format_Y(@_)) }

sub format_G { int(($_[0]->[9] - 315993600) / 604800) }

1;
__END__
Expand Down Expand Up @@ -353,6 +356,7 @@ category of the program's locale.
%d numeric day of the month, with leading zeros (eg 01..31)
%e numeric day of the month, without leading zeros (eg 1..31)
%D MM/DD/YY
%G GPS week number (weeks since January 6, 1980)
%h month abbr
%H hour, 24 hour clock, leading 0's)
%I hour, 12 hour clock, leading 0's)
Expand Down
49 changes: 49 additions & 0 deletions lib/Date/Language/Afar.pm
@@ -0,0 +1,49 @@
##
## Afar tables
##

package Date::Language::Afar;

use Date::Language ();
use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
@ISA = qw(Date::Language);
$VERSION = "0.99";

@DoW = qw(Acaada Etleeni Talaata Arbaqa Kamiisi Gumqata Sabti);
@MoY = (
"Qunxa Garablu",
"Kudo",
"Ciggilta Kudo",
"Agda Baxis",
"Caxah Alsa",
"Qasa Dirri",
"Qado Dirri",
"Liiqen",
"Waysu",
"Diteli",
"Ximoli",
"Kaxxa Garablu"
);
@DoWs = map { substr($_,0,3) } @DoW;
@MoYs = map { substr($_,0,3) } @MoY;
@AMPM = qw(saaku carra);

@Dsuf = (qw(th st nd rd th th th th th th)) x 3;
@Dsuf[11,12,13] = qw(th th th);
@Dsuf[30,31] = qw(th st);

@MoY{@MoY} = (0 .. scalar(@MoY));
@MoY{@MoYs} = (0 .. scalar(@MoYs));
@DoW{@DoW} = (0 .. scalar(@DoW));
@DoW{@DoWs} = (0 .. scalar(@DoWs));

# Formatting routines

sub format_a { $DoWs[$_[0]->[6]] }
sub format_A { $DoW[$_[0]->[6]] }
sub format_b { $MoYs[$_[0]->[4]] }
sub format_B { $MoY[$_[0]->[4]] }
sub format_h { $MoYs[$_[0]->[4]] }
sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }

1;
87 changes: 87 additions & 0 deletions lib/Date/Language/Amharic.pm
@@ -0,0 +1,87 @@
##
## Amharic tables
##

package Date::Language::Amharic;

use Date::Language ();
use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
@ISA = qw(Date::Language);
$VERSION = "1.00";

if ( $] >= 5.006 ) {
@DoW = (
"\x{12a5}\x{1211}\x{12f5}",
"\x{1230}\x{129e}",
"\x{121b}\x{12ad}\x{1230}\x{129e}",
"\x{1228}\x{1261}\x{12d5}",
"\x{1210}\x{1219}\x{1235}",
"\x{12d3}\x{122d}\x{1265}",
"\x{1245}\x{12f3}\x{121c}"
);
@MoY = (
"\x{1303}\x{1295}\x{12e9}\x{12c8}\x{122a}",
"\x{134c}\x{1265}\x{1229}\x{12c8}\x{122a}",
"\x{121b}\x{122d}\x{127d}",
"\x{12a4}\x{1355}\x{1228}\x{120d}",
"\x{121c}\x{12ed}",
"\x{1301}\x{1295}",
"\x{1301}\x{120b}\x{12ed}",
"\x{12a6}\x{1308}\x{1235}\x{1275}",
"\x{1234}\x{1355}\x{1274}\x{121d}\x{1260}\x{122d}",
"\x{12a6}\x{12ad}\x{1270}\x{12cd}\x{1260}\x{122d}",
"\x{1296}\x{126c}\x{121d}\x{1260}\x{122d}",
"\x{12f2}\x{1234}\x{121d}\x{1260}\x{122d}"
);
@DoWs = map { substr($_,0,3) } @DoW;
@MoYs = map { substr($_,0,3) } @MoY;
@AMPM = ( "\x{1320}\x{12cb}\x{1275}", "\x{12a8}\x{1230}\x{12d3}\x{1275}" );

@Dsuf = ("\x{129b}" x 31);
}
else {
@DoW = (
"እሑድ",
"ሰኞ",
"ማክሰኞ",
"ረቡዕ",
"ሐሙስ",
"ዓርብ",
"ቅዳሜ"
);
@MoY = (
"ጃንዩወሪ",
"ፌብሩወሪ",
"ማርች",
"ኤፕረል",
"ሜይ",
"ጁን",
"ጁላይ",
"ኦገስት",
"ሴፕቴምበር",
"ኦክተውበር",
"ኖቬምበር",
"ዲሴምበር"
);
@DoWs = map { substr($_,0,9) } @DoW;
@MoYs = map { substr($_,0,9) } @MoY;
@AMPM = ( "ጠዋት", "ከሰዓት" );

@Dsuf = ("" x 31);
}

@MoY{@MoY} = (0 .. scalar(@MoY));
@MoY{@MoYs} = (0 .. scalar(@MoYs));
@DoW{@DoW} = (0 .. scalar(@DoW));
@DoW{@DoWs} = (0 .. scalar(@DoWs));

# Formatting routines

sub format_a { $DoWs[$_[0]->[6]] }
sub format_A { $DoW[$_[0]->[6]] }
sub format_b { $MoYs[$_[0]->[4]] }
sub format_B { $MoY[$_[0]->[4]] }
sub format_h { $MoYs[$_[0]->[4]] }
sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }

1;
36 changes: 36 additions & 0 deletions lib/Date/Language/Chinese_GB.pm
@@ -0,0 +1,36 @@
##
## English tables
##

package Date::Language::Chinese_GB;

use Date::Language ();
use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
@ISA = qw(Date::Language);
$VERSION = "1.01";

@DoW = qw(星期日 星期一 星期二 星期三 星期四 星期五 星期六);
@MoY = qw(一月 二月 三月 四月 五月 六月
七月 八月 九月 十月 十一月 十二月);
@DoWs = map { $_ } @DoW;
@MoYs = map { $_ } @MoY;
@AMPM = qw(上午 下午);

@Dsuf = (qw(日 日 日 日 日 日 日 日 日 日)) x 3;

@MoY{@MoY} = (0 .. scalar(@MoY));
@MoY{@MoYs} = (0 .. scalar(@MoYs));
@DoW{@DoW} = (0 .. scalar(@DoW));
@DoW{@DoWs} = (0 .. scalar(@DoWs));

# Formatting routines

sub format_a { $DoWs[$_[0]->[6]] }
sub format_A { $DoW[$_[0]->[6]] }
sub format_b { $MoYs[$_[0]->[4]] }
sub format_B { $MoY[$_[0]->[4]] }
sub format_h { $MoYs[$_[0]->[4]] }
sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }

sub format_o { sprintf("%2d%s",$_[0]->[3],"") }
1;
3 changes: 2 additions & 1 deletion lib/Date/Language/Dutch.pm
Expand Up @@ -8,11 +8,12 @@ package Date::Language::Dutch;
use Date::Language ();
use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
@ISA = qw(Date::Language);
$VERSION = "1.01";
$VERSION = "1.02";

@MoY = qw(januari februari maart april mei juni juli
augustus september oktober november december);
@MoYs = map(substr($_, 0, 3), @MoY);
$MoYs[2] = 'mrt'; # mrt is more common (Frank Maas)
@DoW = map($_ . "dag", qw(zon maan dins woens donder vrij zater));
@DoWs = map(substr($_, 0, 2), @DoW);

Expand Down
45 changes: 45 additions & 0 deletions lib/Date/Language/Finnish.pm
@@ -0,0 +1,45 @@
##
## Finnish tables
## Contributed by Matthew Musgrove <muskrat@mindless.com>
## Corrected by roke
##

package Date::Language::Finnish;

use Date::Language ();
use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
@ISA = qw(Date::Language);
$VERSION = "1.01";

# In Finnish, the names of the months and days are only capitalized at the beginning of sentences.
@MoY = map($_ . "kuu", qw(tammi helmi maalis huhti touko kesä heinä elo syys loka marras joulu));
@DoW = qw(sunnuntai maanantai tiistai keskiviikko torstai perjantai lauantai);

# it is not customary to use abbreviated names of months or days
# per Graham's suggestion:
@MoYs = @MoY;
@DoWs = @DoW;

# the short form of ordinals
@Dsuf = ('.') x 31;

# doesn't look like this is normally used...
@AMPM = qw(ap ip);


@MoY{@MoY} = (0 .. scalar(@MoY));
@MoY{@MoYs} = (0 .. scalar(@MoYs));
@DoW{@DoW} = (0 .. scalar(@DoW));
@DoW{@DoWs} = (0 .. scalar(@DoWs));

# Formatting routines

sub format_a { $DoWs[$_[0]->[6]] }
sub format_A { $DoW[$_[0]->[6]] }
sub format_b { $MoYs[$_[0]->[4]] }
sub format_B { $MoY[$_[0]->[4]] }
sub format_h { $MoYs[$_[0]->[4]] }
sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
sub format_o { sprintf("%2de",$_[0]->[3]) }

1;

0 comments on commit 1b394d6

Please sign in to comment.