NAME
    DateTime::Calendar::Japanese::Era - DateTime Extension for Japanese Eras

SYNOPSIS
      use DateTime::Calendar::Japanese::Era;
      my $era = DateTime::Calendar::Japanese::Era->lookup_by_date(
        datetime => DateTime->new(year => 1990)
      );
      my $era = DateTime::Calendar::Japanese::Era->lookup_by_id(
        id => HEISEI_ERA
      );
      my $era = DateTime::Calendar::Japanese::Era->lookup_by_name(
        name => "ʿ��"
      );

      my $era = DateTime::Calendar::Japanese::Era->new(
        id => ...,
        start => ...,
        end   => ...
      );

      $era->id;
      $era->start;
      $era->end;

DESCRIPTION
    Japan traditionally used an "era" system since 645. In modern days
    (since the Meiji era) eras can only be renewed when a new emperor
    succeeds his predecessor. Until then new eras were proclaimed for
    various reasons, including the succession of the shogunate during the
    Tokugawa shogunate.

NORTH AND SOUTH REGIMES
    During the 60 years between 1331 and 1392, there were two regimes in
    Japan claiming to be the rightful successor to the imperial throne.
    During this period of time, there were two sets of eras in use.

    This module by default uses eras from the North regime, but you can get
    the South regime's eras if you explicitly specify it:

      use DateTime::Calendar::Japanese::Era qw(SOUTH_REGIME);
      my $dt = DateTime->new( year => 1342 );
      $era = DateTime::Calendar::Japanese::Era->lookup_by_date(
        datetime => $dt,
        regime   => SOUTH_REGIME
      );

METHODS
  new
  id
  name
  start
  end
  clone
FUNCTIONS
  register_era
    Registers a new era object in the lookup table.

  registered
    Returns all eras that are registered.

  lookup_by_id
      $heisei = DateTime::Calendar::Japanese::Era->lookup_by_id(
        id => HEISEI
      );

    Returns the era associated with the given era id. The IDs are provided
    by DateTime::Calendar::Japanese::Era as constants.

  lookup_by_name
      $heisei = DateTime::Calendar::Japanese::Era->lookup_by_name(
        name => 'ʿ��',
        encoding => 'euc-jp',
      );

    Returns the era associated with the given era name. By default UTF-8 is
    assumed for the name parameter. You can override this by specifying the
    'encoding' parameter.

  lookup_by_date
      my $dt = DateTime->new(year => 1990);
      $heisei = DateTime::Calendar::Japanese::Era->lookup_by_date(
         datetime => $dt
      );

    Returns the era associate with the given date.

CONSANTS
    Below are the list of era IDs that are known to this module:

      TAIKA
      HAKUCHI
      SHUCHOU
      TAIHOU
      KEIUN
      WADOU
      REIKI
      YOUROU
      JINKI
      TENPYOU
      TENPYOUKANPOU
      TENPYOUSHOUHOU
      TENPYOUJOUJI
      TENPYOUJINGO
      JINGOKEIUN
      HOUKI
      TENNOU
      ENRYAKU
      DAIDOU
      KOUNIN
      TENCHOU
      JOUWA
      KASHOU
      NINJU
      SAIKOU
      TENNAN
      JOUGAN
      GANGYOU
      NINNA
      KANPYOU
      SHOUTAI
      ENGI
      ENCHOU
      SHOUHEI
      TENGYOU
      TENRYAKU
      TENTOKU
      OUWA
      KOUHOU
      ANNA
      TENROKU
      TENNEN
      JOUGEN1
      TENGEN
      EIKAN
      KANNA
      EIEN
      EISO
      SHOURYAKU
      CHOUTOKU
      CHOUHOU
      KANKOU
      CHOUWA
      KANNIN
      JIAN
      MANJU
      CHOUGEN
      CHOURYAKU
      CHOUKYU
      KANTOKU
      EISHOU1
      TENGI
      KOUHEI
      JIRYAKU
      ENKYUU
      JOUHOU
      JOURYAKU
      EIHOU
      OUTOKU
      KANJI
      KAHOU
      EICHOU
      JOUTOKU
      KOUWA
      CHOUJI
      KAJOU
      TENNIN
      TENNEI
      EIKYU
      GENNEI
      HOUAN
      TENJI
      DAIJI
      TENSHOU1
      CHOUSHOU
      HOUEN
      EIJI
      KOUJI1
      TENNYOU
      KYUAN
      NINPEI
      KYUJU
      HOUGEN
      HEIJI
      EIRYAKU
      OUHOU
      CHOUKAN
      EIMAN
      NINNAN
      KAOU
      SHOUAN1
      ANGEN
      JISHOU
      YOUWA
      JUEI
      GENRYAKU
      BUNJI
      KENKYU
      SHOUJI
      KENNIN
      GENKYU
      KENNEI
      JOUGEN2
      KENRYAKU
      KENPOU
      JOUKYU
      JOUOU1
      GENNIN
      KAROKU
      ANTEI
      KANKI
      JOUEI
      TENPUKU
      BUNRYAKU
      KATEI
      RYAKUNIN
      ENNOU
      NINJI
      KANGEN
      HOUJI
      KENCHOU
      KOUGEN
      SHOUKA
      SHOUGEN
      BUNNOU
      KOUCHOU
      BUNNEI
      KENJI
      KOUAN1
      SHOUOU
      EININ
      SHOUAN2
      KENGEN
      KAGEN
      TOKUJI
      ENKYOU1
      OUCHOU
      SHOUWA1
      BUNPOU
      GENNOU
      GENKOU
      SHOUCHU
      KARYAKU
      GENTOKU
      SHOUKEI
      RYAKUOU
      KOUEI
      JOUWA1
      KANNOU
      BUNNNA
      ENBUN
      KOUAN2
      JOUJI
      OUAN
      EIWA
      KOURYAKU
      EITOKU
      SHITOKU
      KAKEI
      KOUOU
      MEITOKU
      OUEI
      SHOUCHOU
      EIKYOU
      KAKITSU
      BUNNAN
      HOUTOKU
      KYOUTOKU
      KOUSHOU
      CHOUROKU
      KANSHOU
      BUNSHOU
      OUNIN
      BUNMEI
      CHOUKYOU
      ENTOKU
      MEIOU
      BUNKI
      EISHOU2
      DAIEI
      KYOUROKU
      TENBUN
      KOUJI2
      EIROKU
      GENKI
      TENSHOU2
      BUNROKU
      KEICHOU
      GENNA
      KANNEI
      SHOUHOU
      KEIAN
      JOUOU2
      MEIREKI
      MANJI
      KANBUN
      ENPOU
      TENNA
      JOUKYOU
      GENROKU
      HOUEI
      SHOUTOKU
      KYOUHO
      GENBUN
      KANPOU
      ENKYOU2
      KANNEN
      HOUREKI
      MEIWA
      ANNEI
      TENMEI
      KANSEI
      KYOUWA
      BUNKA
      BUNSEI
      TENPOU
      KOUKA
      KAEI
      ANSEI
      MANNEI
      BUNKYU
      GENJI
      KEIOU
      MEIJI
      TAISHO
      SHOUWA2
      HEISEI

    These are the eras from the South regime during 1331-1392

      S_GENKOU
      S_KENMU
      S_EIGEN
      S_KOUKOKU
      S_SHOUHEI
      S_KENTOKU
      S_BUNCHU
      S_TENJU
      S_KOUWA
      S_GENCHU

AUTHOR
    Daisuke Maki <daisuke@cpan.org>