私はこのような日付値を持っています:
$date_value = "2016-12-10 11:28:36";
私のAsia/Tehran
タイムゾーンは、GMTから3:30オフセットされています(したがって、GTM3:30+になります)。でコンテンツを保存しました14:58
が$date_value
、GMT(GMT00)からのオフセットがないサーバーのタイムゾーンを使用しているため、上記の値()でアイテムを保存します。これは論理的に聞こえます。
ここで、日付を希望のタイムゾーンである「アジア/テヘラン」に戻したいのですが、日付の手順が期待どおりに機能しません(「予想される」とは、日時が14:59:00に戻されないことを意味します。 )これはテヘランの時間です。使用するコードは次のとおりです。
$DateTime = new DateTime($date_value, new DateTimeZone("Asia/Tehran"));
print $DateTime->format($format); // edited the question with on this line
ただし、変更がないかのように、正確な日付が出力されます。
常に機能しますが、この特定のケースで機能しない理由はわかりません。私はここで何か間違ったことをしていますか?
サーバーから取得する日付文字列がUTCの場合はDateTime
、UTCでオブジェクトを作成してから、タイムゾーンを変更する必要があります。
$format = "Y-m-d H:i:s";
$date_value = "2016-12-10 11:28:36";
$DateTime = new DateTime($date_value, new DateTimeZone("UTC"));
$DateTime->setTimezone(new DateTimeZone("Asia/Tehran"));
print $DateTime->format($format);
// Outputs: 2016-12-10 14:58:36
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加