2016-03-25 12 views
-1

私は776635200タイムスタンプをデータベースに保存しました。タイムスタンプの日付が間違っているのはなぜですか?

私はPHPでサーバ側で文字列にフォーマットすると、私は次のような結果を得る:

var_dump(date("Y-m-d H:i:s", 776635200)); // string(19) 1994-08-12 00:00:00

をしかし、私はJSで、クライアント側で同じことを行うとき、私は次のような結果を得る:

console.log(new Date(776635200 * 1000)) // Thu Aug 11 1994 23:00:00 GMT+0300 (RTZ 2 (зима))

なぜ私は異なる結果を得ますか?

+0

タイムゾーンに関連するものです。 – Harikrishnan

+1

「間違っている」と定義します。 *予想*、 "正しい"答えは何ですか? – deceze

答えて

2

PHPでは異なるタイムゾーンでフォーマットされているため、おそらくGMT + 0400ですが、JSではtimezone GMT + 0300を使用してフォーマットされています。

PHPでタイムゾーンをvarダンプしようとします。

var_dump(date("Y-m-d H:i:s O", 776635200)); 
1

は、サーバ側では、ユーザーのコンピュータに設定されたローカルタイムゾーンからその時刻の設定を受け取り、サーバーおよび/またはクライアント側のJSながら、PHPの設定の場所からそのタイムゾーンの設定を取ります。これは異なるタイムゾーンにある可能性があります。

+0

*サーバーの場所から*および/またはPHPの設定。 +1 –

+0

に感謝@ハッキーパンキー - 私の答えを修正しました。 :) – gavgrif

関連する問題