PHPでis_dstパラメータを使用して、正しいタイムスタンプを取得するにはどのように?
質問
私たちは、次の属性を与えることはmktime方法でUNIXタイムスタンプを作成している。
print_r(mktime(0,0,0,3,1,2009));
print_r(mktime(null,null,null,3,1,2009) / 60 / 60 / 24) . "days");`
これが結果を作成します。
1235862000
14303.958333333 days
これは14304日でなければなりません。この場合の問題点は、冬時間です。 あなたは、is_dstパラメータを使用することができ、そして我々は0(デフォルト-1)を使用する場合、これは時々正しく結果として14304日間与えて動作します。
しかし、時には、これは次のような問題を与えます:
厳しい基準:はmktime()を[function.mktime]:is_dstパラメータは廃止され
私はそれが何を意味するのか見当がつかないと私はそれについて何を行うことができます。任意のアイデア誰か?冬の時間は、ひどい頭痛を引き起こしているので....
解決
gmmktime して使用してください。
他のヒント
date("I", time());
あなたにその夏時間であれば1と0を与える場合、そのない。
PHPマニュアルのページから:
「タイムゾーンが有効でない、および/またはE_STRICTメッセージ場合は、システムの設定やTZ環境変数を使用している場合、日付/時刻関数を呼び出すたびにE_NOTICEを生成します。<ものhref =を参照してください。」にhttp: //php.net/manual/en/function.date-default-timezone-set.php "REL = "nofollowをnoreferrer"> date_default_timezone_set()の"
is_dstパラメータをスキップ所属していません StackOverflow