- 2006年10月 1日 02:26
- プログラム制作
自分のプロフィールページで年齢を1年毎に書き換えるのが面倒だなと思い、年齢を計算するプログラムを作り、誕生日が来たら自動的に年齢を更新するようにしてみました。
経歴欄は毎年書き換える必要が無いというか、書き換える時は1年も経たずに書き換えるだろうし、定期的に変更の必要がある分だけでも自動化をしようかと。
最近作る自分のWebPageは、ヘッダやフッタ等の共通部分などは予め用意しておいたファイルを読み込ませるだけなどして、どんどん簡素化していっています。そして、たまに時間が開くと自分が何がしたかったのか分からなくなってしまっているという... orz
このプログラムに関しては改良の余地もあるし、汎用的にしたいので、自分がしている事を忘れないためにもここに公表しておきます。使いたい人はどうぞご自由に。
*age.cgi ソース
#!/usr/local/bin/perl
# Copyright 2006 Sena Minamino All rights reserved.
# WebPage http://my.sena.to/
# E-Mail --@----.--
# 自分の生年月日を登録
$b_year = 1981; # 年(西暦4桁)
$b_mon = 12; # 月
$b_day = 6; # 日
# 現在の日時取得
local($sec, $min, $hour, $mday, $mon, $year) = (localtime());
$year = $year + 1900;
$mon = $mon + 1;
# 現在の年から誕生日の年を引く
$age = $year - $b_year;
# 現在の日時が誕生日の日時を越えてなければ年から更に1歳引く
if (($mon < $b_mon) || ($mon == $b_mon && $mday < $b_day)) {
$age--;
}
# 計算結果を表示
print "Content-type: text/html\n\n";
print "$age";
*HTMLへの組み込み
実際のHTMLへ表示するためにはSSIで表示します。
事前にSSIで必要な設定は済ませておき、年齢を表示したい所に
年齢 <!--#include file="./age.cgi"-->歳
と記述します。
*今後の予定
このプログラムを実行した時に年齢の数字しか表示されないので、自分がプログラム内に書き込んだ生年月日や現在の日時を表示するチェックモードを付けようと思います。
他、複数のプログラムを設置しなくても、引数によって表示結果が変わるように改良を加え、その引数の記述形式も西暦4桁、西暦2桁、和暦にも対応するつもりです。
今回は自分が一番得意なPerlで制作しましたが、PHPでも同等品を製作予定です。
*余談
プロトタイプはとっくの昔に作っておいたのに、実装する時間を後々に回してしまったので時間が掛かってしまった orz
- Newer: Movable Type メインインデックスに現在の日時を表示する
- Older: 一日中寝てた
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://weblog.sena.jp/mt/mt-tb.cgi/526
- Listed below are links to weblogs that reference
- 年齢計算プログラム(Perl編) Ver 0.1 from Heartless -Sena-