2013-02-26 13 views
8

はコードphp - date_default_timezone_setは動作しませんが、ini_set 'date.timezone'は動作します。どうして?タイトルとして

ini_set('date.timezone', 'Europe/Athens'); 

作品が、

date_default_timezone_set('Europe/Athens'); 

がない理由を誰もが説明できる、と言いますか?

タイムスタンプを変換するソリューションを探していましたが、ウェブ上で見つけられるのはdate_default_timezone_setでした。しかし、変換には常に1時間の差がありました。

私はこのトピック "strftime() function showing incorrect time"がinit_setコードを使用していることを発見しました(そしてその後、私はRTMを持っていて、それは既に文書で言及されていることを発見しました)。私はそれを試して、それは働いた。

しかし、date_default_timezone_setが機能していない理由がわかりません。

誰でも説明してください。

+0

はUTCではないタイムスタンプで、アテネは+1になりますか?多分ヨーロッパ/ダブリンを試してください – KevInSol

+0

完全なコードを教えてください。 – Evert

+0

ワーキングコードhttp://pastebin.com/EQx9jeGm –

答えて

2

PHPの古いバージョンを使用している必要があります。

date_default_timezone_set is for PHP 5.1.2 and above. 

php -vを試して、PHPのバージョンを確認してください。

を使用でき
0

putenv("TZ=Europe/Berlin"); // PHP 4 
+0

エディタで** '{}' **ボタンを使ってコードを書式設定することができます。 – kdbanman

0

localhost

server

それは非常に遅く、私は同じ問題を持っていると私は違いがある参照、私は私のローカルホストからのスクリーンショットを投稿してタイムゾーンの私の個人的なサーバーphpinfo。

私のローカルホストでは、date_default_timezone_set( '[timezone]')は正しく動作しますが、サーバーでは常にUTCが返されます。 php docに基づいて、私のサーバーのPHP iniにタイムゾーンが設定されていないように見えるので、以前に値が定義されていないため、タイムゾーンセットを無視する可能性があります。

init_setを使用すると、タイムゾーンが使用可能になります。私はタイムゾーンがphp iniにあらかじめ定義されていないと思う。

関連する問題