2017-07-21 9 views
0

を観察するためには表示されません現時点ではstrtotimeを使用していましたが、実際に設定されていた時間よりも1時間前に戻っていました。例:午後1時15分は午後2時15分になりました。タイムゾーンをGMTではなくヨーロッパ人に設定しました。が、これは私が</p> <p>を発見していない私はどこ私たちの問題に遭遇してきた愚かな間違いである場合ので、私を許して、私はPHPにかなり新しいですタイムゾーン

ストロームにこの問題がありましたが、試して設定しようとすると別のタイムゾーンを観察することができません。

私は代わりにPHPのDateTimeを使ってみました。

ユーザーは時刻を入力し、午後1時15分に選択しますが、13:15として保存します。だから私はこれをしなかった:

$t = DateTime::createFromFormat('h:i A', $venue['startTime']); 
$t_24 = $t->format('H:i:s'); 

その後、私は試してみて、あなたのようにタイムゾーンを追加する場合明らかに、それは動作しないため、オブジェクトが設定された後、タイムゾーンを設定しようとすると、私のDateオブジェクト

$d = DateTime::createFromFormat('d-m-Y H:i:s', $venue['startDay'] . ' ' . $t_24); 
$d->setTimezone(new DateTimeZone('America/New_York')); 
echo ' ' . $d->getTimestamp(); 

を作成します3番目の引数はcreateFromFormat

イギリスの夏時間を観測している現在、現在のヨーロッパ時間はGMT + 1です。私のシステムでは、午後1時15分と設定されています。私が時間を期待している時間帯を設定しました私はタイムスタンプを1500639300に変換すると、それはまだ午後2時15分に等しいです。おそらく何か愚かなことをしましたが、何が分かりませんか?任意の助けが歓迎されるでしょう:)

答えて

1

タイムスタンプはタイムゾーンがありません - 彼らは常にUTC時間です。タイムゾーンに関連するデータを保存する場合は、別の形式を使用してください。たとえば、必要に応じてH:i:sで保存します。

関連する問題

 関連する問題