Tatsuhiko Miyagawa > Date-Japanese-Era > Date::Japanese::Era

Download:
Date-Japanese-Era-0.06.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.06   Source  

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 ^

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

syntax highlighting: