さて、最近はPHPのdateに四苦八苦しているのですが、
今度は月末の日にちを取得する方法を覚え書きです。
とりあえず、来月の今月末の取得方法です
今月末
date('Ymd', mktime(0, 0, 0, date('m') + 1, 0, date('Y')));
続いて来月末
来月末
date('Ymd', mktime(0, 0, 0, date('m') + 2, 0, date('Y')));
ポイントは
mktime (時, 分, 秒, 月, 日, 年)
なので
今月末は 今の月に+1して日の0を求めるという事になり
来月末は 今の月に+2して日の0を求めるという事になります。
先日投稿した「PHPで任意の日付から一週間後を取得」なのですが、
現在WEBはPHP5で動いているのですが、CronがPHP4のため、
日付の取得がうまくいきませんでした。
ということで改めて
PHPで任意の日付から一週間後を取得を試してみました。
どうもPHP4だと英文形式で書かなきゃいけないみだいで、
date("Y/m/d",strtotime("+1 week" ,strtotime("20 Aug 2009 0:00")));
みたくすればPHP4でも取得できました。
PHPのdateでdate(“l”)で曜日を算出できるのですが、今日の日付しか対象にならない。
任意の日付を参照したい場合は
2009年8月24日を取得したい場合
date("l", mktime(0, 0, 0, 8, 24, 2009));
これで取得出来る
もちろん曜日を0〜6までの数字として取得したい場合は
date(“w”)同様
date("w", mktime(0, 0, 0, 8, 24, 2009));
で取得出来る
ちょっとしたリマインダーをPHPで制作する機会があり、
任意の日付の一週間後や一ヶ月後をPHPにて取得しなければ
ならない事態になり、その覚え書き
今日から一週間後を取得する場合
date("Y/m/d",strtotime("+1 week"));
dateで今日の日付を取得し、strtotime(“+1 week”)で一週間後を
もちろんstrtotime(“+7 day”)でもOK
でもこれだと今日を基準にしなきゃいけない。。。
任意の日付から指定したい場合はstrtotimeに追記
date("Y/m/d",strtotime("+1 week" ,strtotime("2009/8/20")));
で大丈夫!