[PHP-users 5712] Re: 日付について。
Masashi Ohba
php-users@php.gr.jp
Wed, 27 Feb 2002 16:05:20 +0900
大場です。
kaga wrote;
>$datToDay = "";
>$datToDay = date("Y-m-d");
>$datYear = substr($datToDay, 0, 4);
>$datMonth = substr($datToDay, 5, 2);
>$datDay = substr($datToDay, -2, 2);
なんてしないで、この部分はsubstr()使わないで
$datYear = date("Y");
$datMonth = date("m");
$datDay = date("d");
で済んじゃいませんか?
>$datDateTime = "";
>$datDateTime = date("Y-m-d", mktime(0,0,0, $datMonth, $datDay - 1, $datYear + 1));
なので、示したコード7行は
$nextyear = date("Y-m-d" mktime(0,0,0,date("m"), date("d"), date("Y")+1));
の1行でたぶん同じことが書けると思いますが。
#date()の中身はマニュアルに出てるのそのままです
日本語マニュアルより
ここから------------------------------------------------------------
例 1. date の例
print (date("l dS of F Y h:i:s A"));
print ("July 1, 2000 is on a " . date("l", mktime(0,0,0,7,1,2000)));
date と mktime の 両方を用いて未来または過去の日付を知ることができます。
例 2. date と mktime の例
$tomorrow = mktime(0,0,0,date("m") ,date("d")+1,date("Y"));
$lastmonth = mktime(0,0,0,date("m")-1,date("d"), date("Y"));
$nextyear = mktime(0,0,0,date("m"), date("d"), date("Y")+1);
ここまで------------------------------------------------------------
ところで、「$datDay - 1」ってことは、実際に欲しいのは
「1年以内の最終日(とでも言えばいいのかな?)」?
#2002/2/27の1年後はやっぱり2003/2/27じゃないのかなぁ?
------------------------------------------------------------
大場正志(Masashi Ohba)
E-Mail ohba@intelight.co.jp
(株) インテライト
http://www.intelight.co.jp
------------------------------------------------------------