@Ifndef lib_date
@Define lib_date lib_date

// うるう年計算
// 戻り値が1の場合、うるう年
function isLeapYear(DY, l_leapYear)
{
  l_leapYear = (1 / (DY % 4 + 1)) * (1 - 1 / (DY % 100 + 1)) + (1 / (DY % 400 + 1));
  if(l_leapYear < 1)
  {
    return 0;
  }
  return 1;
}

// 和暦から西暦に変換
// 元号は"MmTtSsHh1234"が使える値
function WarekiToSeireki(gengou,nen, l_nen)
{
  l_nen = Int(nen)
  if(gengou == "1" || gengou == "M" || gengou == "m")
  {
    if(l_nen <= 45)
      return 1867 + l_nen;
  }
  else if(gengou == "2" || gengou == "T" || gengou == "t")
  {
    if(l_nen <= 15)
      return 1911 + l_nen;
  }
  else if(gengou == "3" || gengou == "S" || gengou == "s")
  {
    if(l_nen <= 64)
      return 1925 + l_nen;
  }
  else if(gengou == "4" || gengou == "H" || gengou == "h")
  {
    if(l_nen <= 99) return 1988 + l_nen;
  }
  return 0; // error
}

@Endif
