年齢は3行で割り出せるぞ!

  • 2008/11/12(水) 23:00:00

日記

ハロー。昨日は妹の誕生日だったよ。21歳になったらしいよ。
「そろそろ今のカレシと結婚を考えてる」 て相談されて、ショックを隠しきれないよ/(^o^)\
わきまえろ!じちょうしろ!!いもうとなんてきらいだ><


今日の日付と誕生日を使って、3行で年齢を計算する方法

11月12日は、自重しないことで有名なござ先輩の誕生日!
私のときはエントリで祝福してもらったので、今度は私が おしおき おかえしするよ!

ござ先輩へ

最初は php だけで書いたため、タイトルが入ってなかった。
どうもかっこわるい。SEO 的にも良くないはず(`・3・)

とゆことで、タイトルだけ設定したい。
html のなかに php を入れてもいいんだが、せっかくなので違うやり方にしてみる。
一回目は <html><head>〜</body></html>まで書いたんだけど、
試しに省いてみたら問題なかったので削除。

print <<< end
<title>
ござ先輩、ハッピーバースデー!
</title>
end;


ヒアドキュメントは、PHP内にまとまった文章を直接記述し利用できるようにする方法です。

PHPのヒアドキュメント


そしてここからphp。なんと3行しかない。

$now = date('Ymd');
$birth = "19791112";
echo "ござ先輩、".floor(($now-$birth)/10000)."歳のお誕生日おめでとう!";

参考にしたエントリ:年齢の計算

1行目。
date() で現在の日付を取得して $now に代入。久々みたdate。前に使ったことがあるような。
9日目 カレンダを作ルンダ♪

date 関数は、フォーマット(型)を指定して日付・時間を出力する関数。
PHP 日付・時間関数の使い方


Y だけ大文字なのは理由がある!大文字の Y は 4桁の数字、小文字の y は 2桁の数字なのだ。
PHP : date - manual


2行目。
$birth に、ござ先輩の誕生日を西暦4桁と月日2桁で代入。
この1行は別々に出力してもよかったんだけど、3行で済ませたかったので .(ピリオド)でくっつけたw
ピリオドは文字列を連結させるそうな。9日目 カレンダを作ルンダ♪より)


3行目。
floor()は、引数で指定された値を小数点以下で切り捨てる関数です。
PHP関数講座:floor -- そふぃのphp入門

つまり、今日の日付 20081112 から 19791112 を引いて 10000 で割った値の小数点を切り捨てる関数。
今回はぴったし29で割り切れるけど、たとえば昨日、誕生日を迎えた私の妹の場合だと
21.0001 になっちゃう。
そんなときに「21.0001歳のお誕生日おめでとう!」と表示されたら恥ずかしいので、
小数点以下を切り捨ててくれるんだな!ありがとう!


これは誕生日以外の何かの記念日にも使えるね(・∀・)
たとえばこんな感じにも♪

あちゃみん&ダンニャ様へ
参考エントリ:いまいましいうらやましいデート日記><

LINEで送る

この記事に対するトラックバック

この記事のトラックバックURL

JavaScriptを知らない私がはまちちゃんのコードを解読してみる

ぼくならこういう実装にするかな javascript:alert(((((prompt('1-9の好きな数字をいれてね')*2+5)*50)+((new Date).getFullYear()-((prompt('今年の誕生日ってもう過ぎてたっけ?(y/n)')=='y'?0:1)+249))-(prompt('西暦何年うまれ?')))+'').substr(1)) e-117Hamachiy...

この記事に対するコメント

あうあう><
はい、これはいつも誕生日おめでとうと出ます。来年も29歳おめでとうと出ます。
すみません、見逃してください!来年はもっとうまくやります(たぶん

つねに誕生日

お誕生日おめでとうって、誕生日じゃなくても出るの
まぁ例示だからいいか

>-さん
ギークを目指してる方ですね!私もです!一緒に頑張りましょう(`・ω・´)

>ぱまちやさん
あなたに実装されたい


>あちゃみん
わーいわーい!
ダンニャ様にもよろしくです(ノ∀`●)

geek! geek!

わーいわーい!!
紅ちゅん、さすが geeky なお祝いの言葉(コード?)をありがとう!!
さっぱり意味不明だけど嬉しいです(・´з`・)

ぼくならこういう実装にするかな

javascript:alert(((((prompt('1-9の好きな数字をいれてね')*2+5)*50)+((new Date).getFullYear()-((prompt('今年の誕生日ってもう過ぎてたっけ?(y/n)')=='y'?0:1)+249))-(prompt('西暦何年うまれ?')))+'').substr(1))

ギークってか初心者

  • 投稿者: -
  • URL
  • 2008/11/13(木) 00:52:26
  • [編集]

この記事にコメントする

管理者にだけ表示を許可する