PHPでis_dstパラメータを使用して、正しいタイムスタンプを取得するにはどのように?

StackOverflow https://stackoverflow.com/questions/696552

  •  22-08-2019
  •  | 
  •  

質問

私たちは、次の属性を与えることは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()の"

おそらくあなたは date_default_timezone_set()を使用する必要がありますことを意味しA>以前と

is_dstパラメータをスキップ
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top