1

これは私の最初の投稿です。解決できないように見える問題があります。ここに行きます:

イベントの日付をページに出力する PHP スクリプトがあります。

$event_datetime = date("g:i A (m/d/y)", strtotime($row['event_time']));
echo $event_datetime

Javascript を使用して、その $event_datetime をクライアントのローカル タイムゾーンまたはローカル クライアント コンピューターの時刻に変換したいと考えています。

何か案は ?

前もって感謝します !

4

3 に答える 3

5

日付を JavaScript にエコーする代わりに、タイムスタンプをエコーし​​て JavaScript の日付オブジェクトを使用します。

var date = new Date(<?php echo strtotime($row['event_time']) * 1000); ?>);

javascripts 日付オブジェクトを使用して、必要に応じて時刻を出力できるようになりました。このような:

date.toLocaleDateString();
//The default output will be the users' timezone (the client where the javascript is being executed), but can be configured with the options argument

見る:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

JavaScript 日付オブジェクトの詳細

于 2013-08-19T18:47:45.603 に答える
1

探していたものへの回答が得られましたが、時間を割いて助けてくれたことに感謝します。あなたのソリューションは素晴らしかったですが、私が必要としていたものではありませんでした。わかりました、これが私がそれを手に入れた方法です:

$row['event_time'] は UTC タイムゾーンでデータベースに保存された日時の値であることに注意してください。

while($row = $result->fetch_assoc())
{
    $s_date = new DateTime($row['event_time'],new DateTimeZone('UTC'));
    $s_date->setTimezone(new DateTimeZone('America/New_York'));
    $start_event_time = $s_date->format('g:i:s A (m/d/y)');
    echo $start_event_time;
}

現在のユーザーのタイムゾーンを取得し、America/New_Yorkを変更してより動的にする追加のスクリプトを作成できます。

私と同じ問題を抱えている人に役立つことを願っています。

于 2013-08-20T15:51:54.350 に答える