NAME
   Date::Japanese::Era - Conversion between Japanese Era / Gregorian
   calendar

SYNOPSIS
     use Date::Japanese::Era;

     # from Gregorian (month + day required)
     $era = Date::Japanese::Era->new(1970, 1, 1);

     # from Japanese Era
     $era = Date::Japanese::Era->new('����', 52);

     $name      = $era->name;         # '����' in EUC-jp (default)
     $gengou    = $era->gengou;       # same

     $year      = $era->year;         # 52
     $gregorian = $era->gregorian_year;       # 1977

DESCRIPTION
   Date::Japanese::Era handles conversion between Japanese Era and
   Gregorian calendar.

METHODS
   codeset
         $codeset = Date::Japanese::Era->codeset;
         Date::Japanese::Era->codeset($encoding);

       sets / gets external encoding of Japanese era names. For example
       with the following code, input and output of era names are encoded
       in UTF-8.

         Date::Japanese::Era->codeset('utf8');
         $era = Date::Japanese::Era->new($name, $year); # $name is UTF-8
         print $era->name;                              # also UTF-8

       You need Jcode module installed to make use of this feature.
       Otherwise, calls to codeset() are simply ignored (with warning).

   new
         $era = Date::Japanese::Era->new($year, $month, $day);
         $era = Date::Japanese::Era->new($era_name, $year);

       Constructs new Date::Japanese::Era instance. When constructed from
       Gregorian date, month and day is required. You need Date::Calc to
       construct from Gregorian.

       Name of era can be either of Japanese / ASCII. Input encodings can
       be specified via codeset(), suppose you have Jcode module installed.
       Default is EUC-JP.

       Exceptions are thrown when inputs are invalid (e.g: non-existent era
       name and year combination, unknwon era-name, etc.).

   name
         $name = $era->name;

       returns era name in Japanese. Encoding can be specified via
       codeset() class method. Default is EUC-JP.

   gengou
       alias for name().

   name_ascii
         $name_ascii = $era->name_ascii;

       returns era name in US-ASCII.

   year
         $year = $era->year;

       returns year as Japanese era.

   gregorian_year
         $year = $era->gregorian_year;

       returns year as Gregorian.

EXAMPLES
     use Date::Japanese::Era;

     # 2001 is H-13
     my $era = Date::Japanese::Era->new(2001, 8, 31);
     printf "%s-%s", uc(substr($era->name_ascii, 0, 1)), $era->year;

     # to Gregorian
     my $era = Date::Japanese::Era->new('ʿ��', 13);
     print $era->gregorian_year;   # 2001

CAVEATS
   *   Days when era just changed are handled as newer (later) one.

   *   Currently supported era is up to 'meiji'.

   *   If someday current era (heisei) is changed,
       Date::Japanese::Era::Table should be upgraded. (Table is declared as
       global variable, so you can overwrite it if necessary).

TODO
   *   Date parameters can be in various format. I should replace
       Date::Simple or whatever for that.

   *   Support earlier eras.

AUTHOR
   Tatsuhiko Miyagawa <[email protected]>

   This library is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.

SEE ALSO
   the Date::Calc manpage, the Jcode manpage, the Date::Simple manpage