phpで日付と時刻のマッサージを行う方法はたくさんあるようです。私はたいてい地元の時間を扱うだけです。今日、私はUTCで働く必要があります。私はAPIに対してクエリを実行していますGMTオフセットに使用するphpの日時ツール
、任意のレコードに関する彼らは私を与えるデータは次のとおりです。 が作成:木、2009年6月18日午後9時44分49秒0000 は*
「UTCレコードの作成時刻」として文書化utc_offset:-28800 *ユーザーの違い
データを現地時間で送信した日時をユーザーに表示するには、単純な文字列に変換する必要があります。
私はカリフォルニア州であれば上記に変換たとえば、信じて:私の目標は、時間の値を取得することである2009年6月の 木曜日の18日午前2時44分49秒PM
私は(これまでに渡すことができます) "簡単な"フォーマットで簡単にフォーマットすることができます。
上記の作成された時間をエポックから秒単位に変換し、オフセットを追加し、それをdate()に渡すのと同じくらい簡単ですか?どんなゴスチャが目を引くの?
$created_time = 'Thu, 18 Jun 2009 21:44:49 +0000';
$utc_offset = -28800;
$seconds = strtotime($created_time);
$localized_time = $seconds + $utc_offset;
echo date(DATE_RFC822, $localized_time);
おかげで
ありがとうございました。 DateTimeオブジェクトのマニュアルはかなり深く、私は検討します。私はまだ後に、オフセットを正しく処理する方法です。 私は、ドキュメントから、$ created_timeのUTC値を想定しています。私が与えた他の唯一の日付/時刻値はオフセットです。ユーザーデータは世界各地から来ていますが、オフセットはどのゾーンにあるかによって異なります。 オブジェクトを数秒間に移動してオフセットを追加し、それをかなりの文字列に変換するとしますか? –
アイデアはDateTimeとstrtotimeの両方を使用しているため、標準形式でタイムゾーンを指定すると、タイムゾーンを取得して、指定したタイムゾーンに自動的に変換します。 もう1つの方法は、デフォルトのタイムゾーンを一時的に変更する方法と、DateTimeオブジェクトにDateTimeZoneオブジェクトを与える方法です( – Evert