2012年12月04日(火) 23時03分 / PHP

PHPで現在日付(現在日時)を取得する

方法はいろいろとあるみたいですが、
私は一番好きなのはオブジェクト指向っぽい書き方。

文字列で取得するならこんな感じ。

$date = new DateTime();
$result = $date->format('Y-m-d H:i:s');

2030/12/31 15:01:20
のように戻される。

ただ、形式は合っていても、タイムゾーンが違っていると、少し時間がズレてしまうらしい。
タイムゾーンを指定して現在日時を取得するにはこんな感じ。

 $date = new DateTime(null, new DateTimeZone('Asia/Tokyo'));
$result = $date->format('Y-m-d H:i:s');

全体でPHPでタイムゾーンを指定するには、php.iniを編集する。

[Date]
 ; Defines the default timezone used by the date functions
 date.timezone = Asia/Tokyo

ただ私の場合、これを修正して、apacheを再起動してもタイムゾーンがおかしかった。
FuelPHPが何か影響してるのかな?

とりあえず欲しい値を求めることはできたので、これでよしとする。
なにかあったら追記していきます。

参考サイト様
http://blog.asial.co.jp/704
http://php.eweb-design.com/0201_gt.php


Leave a Reply