1

私はphp変数say $expTime(unixtime say-1359683953を持っています)を持っています。この変数をクライアント側に表示したい(現地時間に応じた適切な時間形式で)。私はUTC、GMT、DSTのすべての間でとても混乱しています。誰かがphpまたはjavascriptを使用してこれに対する解決策を提案できますか?

私が使用しているとき、echo date('h:i M d/y',$expTime)それは私に間違った時間を示しています。

データベースに時間を節約する方法:
var exp_day= parseInt($("#exp_day").val());
var exp_hrs= parseInt($("#exp_hrs").val());
var exp_min= parseInt($("#exp_min").val());
var exp_time = (exp_day*24*60*60) + (exp_hrs*60*60) + (exp_min*60) ;
次に、ajaxを使用してexp_timeをphpファイルに投稿しました-
$expTime = time() + $_POST["exp_time"];

私がデータベースから取得しているのは$expTimeです。この$expTimeは、ローカルタイムゾーンに従ってすべてのクライアントシステムに表示したいと思います(夏時間調整も確認してください)。

4

2 に答える 2

2

タイムゾーンでDateTimeを使用します。

$datetime = new DateTime('@1359683953');
echo $datetime->format('h:i M d/y') . "<br>";
$datetime->setTimezone(new DateTimeZone('America/Los_Angeles'));
echo $datetime->format('h:i M d/y');

実際に見てください

于 2013-01-31T02:08:17.813 に答える
1

UNIX時間の値は、通常、エポックからのUTC秒です。Javascriptの時間値は、同じエポックからのUTCミリ秒です。ECMA-262 Date.prototype.toStringメソッドは、現地時間を表す文字列を自動的に生成し、適用される場合は夏時間を考慮します。

Dateメソッドを使用して、独自のフォーマットされた文字列を作成することもできます。また、現地の時刻と日付の値を返します。UTCで作業する場合は、UTCメソッドもあります。

クライアントでこれを行うには、サーバーからUTC時間値を指定するだけで、JavaScriptで必要なのは次のとおりです。

var timeValue = 1359683953;  // assume seconds
var date = new Date(timeValue * 1000);  // convert time value to milliseconds

alert(date); //  Fri 01 Feb 2013 11:59:13 GMT+1000 
于 2013-01-31T02:20:07.707 に答える