2017-02-17 6 views
0

mysqlデータベースにdatetimesを保存する必要があります。javascriptからphpにdatetimeを送る夏時間を管理する

これらの時刻は、米国、ヨーロッパ、アジアのユーザー、または正しい時刻が表示される場所のブラウザに由来します。ブラウザで

、私は次のJavaScriptコードを持っている:

var d = new date(); 
var iso_date_string = d.toISOString(); 
// produces something like "2017-02-17T19:42:27.100Z" 

を私はPHPを実行するサーバーに、この文字列を送信し、私のサーバーコードで私が持っている:

$date = date("Y-m-d H:i:s", strtotime("2014-02-17T19:42:27.100Z")); 

そして、この値をMySQLに挿入します。

私は正確な時刻を取得しない限り、すべてうまくいきます.MySQLに格納されているものと自分のコンピュータにある時間との間に1時間の違いがあります。

これは、夏時間を考慮に入れていると思われるかもしれませんが、どうやってそれを行うかわかりません。

お知らせください。

+1

DBにタイムゾーンもありますか? – Machavity

答えて

1

いつでもUTC datetimeをサーバーに送信し、表示するときにjavascriptに戻すと、問題は発生しません。

0

PHPの日付は、php.iniファイルに埋め込まれているタイムゾーン情報の影響を受けます。

mysqlストレージに関する限り、mysqlに日時を格納するために夏時間の影響を受けない他の標準やUTCを使用したいと思うかもしれません。そして、それを読んでいるブラウザに関係なく、ローカルタイムゾーン情報に従って変換されます。

はさらに読書のために、この記事を参照してください。

Daylight saving time and time zone best practices

0

それはDSTを修正するので、あなたは、それはDSTだかどうかをチェックすると、GetTimezoneOffset()を使用することができます。

私は、php.iniファイルで正しいタイムゾーン情報の設定 http://javascript.about.com/library/bldst.htm

0

にこの解決策を見つけたトリックをしました。

ありがとうございました。