[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
------------------------------------------------------------