西暦和暦年齢のプルダウン


フォームとかでよく使うあれ。西暦和暦年齢のプルダウンです。和暦変換には
https://php-fan.org/seirekitowareki.html を参考にしました

サンプル

<form name="sort_form">
 <div class="selectWrap">
<select  class="select" name="sort" onchange="dropsort()">
<?php
$now = date("Y");
for($i = $now; $i>= 1800; $i--):
$toshi=$now-$i;
?>
<option value="https://9rando.info/umare/<?php echo $i;?>/"<?php if($ne=="$i"){echo ' selected="selected"';} ?>><?php echo $i;?>年<?php $month = "05";$day = "01";$yearwa1 =toJpDate($i,$month,$day);$yearwa1=strstr($yearwa1, '年', true);echo"$yearwa1";?>年(<?php echo "$toshi";?>歳)</option>
<?php endfor;?>
                </select>
              </div>
</form>
<script>
function dropsort() {
    var browser = document.sort_form.sort.value;
    location.href = browser
}
</script>
    </div>

<?php
//西暦和暦変換
function toJpDate ($year, $month, $day) {
 
	if (!checkdate($month, $day, $year) || $year < 1800) {
    	return false;
  	}
 
  	$date = (int) sprintf('%04d%02d%02d', $year, $month, $day);
 
	if ($date >= 20190501) {  // 2019年5月1日から令和
    $era = '令和';
	$jpYear = $year - 2018;
  }	elseif ($date >= 19890108) {  // 1989年1月8日から平成
    $era = '平成';
	$jpYear = $year - 1988;
  } elseif ($date >= 19261225) {  // 1926年12月25日から昭和
    $era = '昭和';
    $jpYear = $year - 1925;
  } elseif ($date >= 19120730) {  // 1912年7月30日から大正
    $era = '大正';
    $jpYear = $year - 1911;
  } elseif ($date >= 18680125){  // 1868年1月25日から明治
    $era = '明治';
    $jpYear = $year - 1867;
  } elseif ($date >= 18650407){  // 1865年4月7日から慶応
    $era = '慶応';
    $jpYear = $year - 1864;
  } elseif ($date >= 18640220){  // 1864年2月20日から元治
    $era = '元治';
    $jpYear = $year - 1863;
  } elseif ($date >= 18610219){  // 1861年2月19日から文久
    $era = '文久';
    $jpYear = $year - 1860;
  } elseif ($date >= 18600318){  // 1860年3月18日から万延
    $era = '万延';
    $jpYear = $year - 1859;
  } elseif ($date >= 18541127){  // 1854年11月27日から安政
    $era = '安政';
    $jpYear = $year - 1853;
  } elseif ($date >= 18480228){  // 1848年2月28日から嘉永
    $era = '嘉永';
    $jpYear = $year - 1847;
  } elseif ($date >= 18441202){  // 1844年12月2日から弘化
    $era = '弘化';
    $jpYear = $year - 1843;
  } elseif ($date >= 18301210){  // 1830年12月10日から天保
    $era = '天保';
    $jpYear = $year - 1829;
  } elseif ($date >= 18180422){  // 1818年4月22日から文政
    $era = '文政';
    $jpYear = $year - 1817;
  } elseif ($date >= 18040211){  // 1804年2月11日から文化
    $era = '文化';
    $jpYear = $year - 1803;
  } elseif ($date >= 18010205){  // 1801年2月5日から享和
    $era = '享和';
    $jpYear = $year - 1800;
  } else {
	  $era = '寛政';
	  $jpYear = $year - 1789;
  }
 
  if ($jpYear == 1) {
    $wareki = $era . '元年';
  } else {
    $wareki = $era . $jpYear . '年';
  }
  return $wareki . $month . '月' . $day . '日';
}

?>

コメントを残す

メールアドレスが公開されることはありません。