コンテンツへスキップ

5月になって
先月作成したプログラム
間違ってると気付いた

「1歳12ヵ月」ですとw

2017年5月生まれの猫らが
何歳何ヵ月かを表示するってだけだが
数字に弱い自分には
そもそも何歳何ヵ月ってのの基準が
あやふやだったのが露呈した

何歳何ヵ月ってのは
「満年齢で何歳か&プラス何ヵ月か?」なので
満年齢到達月=誕生月は
「何ヵ月」の表示は無しで
「満〇歳」と表示すべきなのだった

しかも「〇月〇日で満〇歳」などと
誕生日を列記すると
正しく、わかり易く、親切な表示だろう

以上を踏まえて作り直した

<?php
$now = date("m");
$birthmonth = ($now - 5);
$birthdate = 20170510;
if ($birthmonth == 0) {
    echo "5月10日で満". (floor((date('Ymd') - $birthdate)/10000) + 1). "歳";
} elseif ($birthmonth < 0) {
    echo "今、". floor((date('Ymd') - $birthdate)/10000). "歳と". ($birthmonth + 12). "ヵ月";
} else {
    echo "今、". (floor((date('Ymd') - $birthdate)/10000) + 1). "歳と". ($birthmonth). "ヵ月";
}
?>

これで今月中は
「5月10日で満2歳です」と表示されるるる~

試しに4月生まれの場合や6月生まれの場合も
適宜、書き換えてやってみたが
4月生まれの場合は「2歳と1ヵ月」
6月生まれでは「1歳と11ヵ月」となったので
今度こそできた~!

長らくサイトを作成してきたが
HTMLのページは
タグをエディタに手打ちしてるるる~

PHPやJavaScriptなんかも
適宜、使ってきた

頻出する語を
ページの先頭で変数に定義して

<?php
$url = ("https://asena.site/");
$author = ("モモイロオオカミろーず");
?>

それをページ内で

<?php echo $url; ?>

とか

<?php echo $author; ?>

で表示したりね

これが最新(2019年)の環境下では

<?=$url?>

<?=$author?>

に省略できるるる~

毎度、必ず使うのに
コピーライトの西暦表示なんてのがあるが・・・

<?php echo date("Y"); ?>

これを応用して
現在の年齢もPHPだと1行で自動取得可能だ
(1968年8月20日生まれの場合)

<?php echo floor((date('Ymd') - 19680820)/10000); ?>

年齢表示を更に発展させて
今回は猫らが何歳何ヵ月かを
自動取得するプログラムを作ってみようかと

何歳かってのは
上記プログラムと同じでOKかな?

2017年5月10日生まれなので
本日の日付を8桁の数値で取得して
20170510を引いて
10000で割って
小数点以下を切り捨て

<?php echo floor((date('Ymd') - 20170510)/10000); ?>歳

あと何ヵ月かは
本日が何月かを取得して
誕生月を引けば良いと思われ

でも5月だったら0になって
1月~4月だったらマイナスになってしまうから
その場合は12を足せば良さそう???

<?php
$now = date("m");
$birthmonth = ($now - 5);
if($birthmonth < 0){
    echo ($birthmonth + 12);
} else {
    echo ($birthmonth);
}
?>
ヵ月

追記。。。5月になってから
間違いに気付いて作り直したwwww