とあるエンジニアの闇歴史帳

コピペで使える便利Wiki ※現在構築中です。

ユーザ用ツール


perl:calendar_eto

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

perl:calendar_eto [2017/12/14 20:18]
perl:calendar_eto [2020/06/23 14:10] (現在)
行 1: 行 1:
 +====== 十二支の干支を求める ======
 +~~socialite~~
 +<note important>この記事は2007年02月19日に書かれたものです。</note>
 +
 +指定した年(西暦年)が、干支(子・丑・寅・卯・辰・巳・午・未・申・酉・戌・亥)で何年かをプログラムで計算し求めたい。
 +ロジックは非常にシンプルである。
 +
 +西暦を12で剰余算すると0の時に申(サル)が来る。ということで、申・酉・戌・亥・子・丑・寅・卯・辰・巳・午・未という順番の配列を作成しておき、後は添え字を剰余算で計算してやれば良い。
 +
 +===== サンプル =====
 +<code perl>
 +;#
 +;#干支算出
 +;#
 +
 +print getEto(2007), "\n";
 +
 +#------------------------------------------
 +#干支を取得する
 +#------------------------------------------
 +sub getEto{
 +    my $year = shift;
 +    my @label  = ('申','酉','戌','亥','子','丑','寅','卯','辰','巳','午','未');
 +
 +    return( $label[$year % 12] );
 +}
 +
 +#※文字コードはEUCで
 +</code>
 +
 +対応関係がいまいちわからんという人は以下を参照のこと。
 +
 +
 +
 +^  西暦  ^  西暦%12  ^  実際の干支  ^
 +|1992|  0  |さる|
 +|1993|  1  |とり|
 +|1994|  2  |いぬ|
 +|1995|  3  |い|
 +|1996|  4  |ね|
 +|1997|  5  |うし|
 +|1998|  6  |とら|
 +|1999|  7  |うし|
 +|2000|  8  |たつ|
 +|2001|  9  |み|
 +|2002|  10  |うま|
 +|2003|  11  |ひつじ|
 +|2004|  0  |さる|
 +|2005|  1  |とり|
 +|2006|  2  |いぬ|
 +|2007|  3  |い|
 +|2008|  4  |ね|
 +|2009|  5  |うし|
 +|2010|  6  |とら|
 +
 +
 +干支を聞いて、こいつで計算すれば、おおまかな年齢がばれるというのは秘密です(笑)
 +
 +===== 関連書籍 =====
 +{{amazon>jp:4797336803}}
 +<html><p style="clear:both"></p></html>
 +
 +{{amazon>jp:4798139815}}
 +<html><p style="clear:both"></p></html>
 +
 +{{amazon>jp:B00O8GIL62}}
 +<html><p style="clear:both"></p></html>
 +
 +{{amazon>jp:B013X7RQ44}}
 +<html><p style="clear:both"></p></html>
 +
 +{{tag>CGI・Perl例文集 Perl カレンダー 日付 干支 十二支}}
 +~~socialite~~
  

関連ページ