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



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("\x{662D}\x{548C}", 52); # SHOWA
  $name      = $era->name;         # \x{662D}\x{548C} (Unicode flagged)
  $gengou    = $era->gengou;       # Ditto
  $year      = $era->year;         # 52
  $gregorian = $era->gregorian_year;       # 1977
  # use JIS X0301 table for conversion
  use Date::Japanese::Era 'JIS_X0301';
  # more DWIMmy
  use encoding 'utf-8';
  $era = Date::Japanese::Era->new("昭和五十二年");
  $era = Date::Japanese::Era->new("昭和52年");


DESCRIPTION

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


METHODS

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

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. If you pass Japanese, the variable should be properly UTF-8 flaged.

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 in Unicode.

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("\x{5E73}\x{6210}", 13); # HEISEI 13
  print $era->gregorian_year;   # 2001


CAVEATS


AUTHOR

Tatsuhiko Miyagawa <miyagawa@bulknews.net>

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


SEE ALSO

the DateTime::Calendar::Japanese::Era manpage, the Date::Calc manpage, the Encode manpage