アキラのITメモ:誕生日からの経過日数を取得
IT関係、技術関係のメモです。
誕生日からの経過日数を取得
誕生日からの経過日数を取得するスクリプトをかけないかなあと思って書いてみました。といってもかなり簡易なものです。入力チェックもしてないですし、エポック秒で計算しているので1970年以前だとうまく動かないかもしれません。スクリプトはこんな感じです。なお、CGIで動かすことを想定して書いていますが、$bday、$bmonth、$byearを手入力で与えても動くと思います。時間があればもっときちんとしたものを作りたいのですがとりあえずはこんなもので。
#!/usr/bin/perl
use CGI;
use Time::Local;
# 誕生日の入手
my $query = CGI->new;
my $bday = $query->param("bday");
my $bmonth = $query->param("bmonth");
my $byear = $query->param("byear");
my $btime = timelocal(0,0,0,$bday,$bmonth,$byear);
my $bymd = sprintf("%d年%d月%d日",$byear-1900,$bmonth-1,$bday);
# 現在日時の取得
my $nowtime = time;
my ($day,$month,$year) = (localtime($nowtime))[3,4,5];
$year += 1900;
$month += 1;
my $ymd = sprintf("%d年%d月%d日",$year,$month,$day);
# 計算+表示
my $pastday = int(($nowtime-$btime)/(60*60*24));
print "Content-type: text/plain\n\n";
print "$ymdは$bymdから$pastday日後です。";
ちなみに上をbday.cgiという名前で保存し、以下のようなHTMLから呼び出せば使えるでしょう。
<html> <head><title>誕生日からの経過日数</title></head> <body> <p>誕生日からの経過日数を計算します。 下のフォームに誕生日を入力してみてください。</p> <form method="post" action="bday.cgi"> <p>誕生日: <input name="byear" size="4" /> 年 <input name="bmonth" size="2" /> 月 <input name="bday" size="2" /> 日 <input type="submit" value="送信" /></p> </form> </body></html>
カテゴリ:
Perl
投稿日: 2007年01月26日 01:48
Trackback URL: http://akira-site.net/cgi-bin/mt/mt-tb.cgi/453
Trackback URL: http://akira-site.net/cgi-bin/mt/mt-tb.cgi/453
コメント
コメントを投稿
カテゴリ「Perl」内の記事
サイト内検索
カテゴリ
- Linux
- Linux Tips [14]
- Linux ソフトウェア [3]
- Web技術
- (X)HTML/CSS [4]
- JavaScript [1]
- MovableType [7]
- その他 [3]
- 各種API [3]
- 各種ツール [4]
- Windows
- Win Tips [3]
- Win ソフトウェア [6]
- コネタ [7]
- プログラミング
- 機器 [4]