2016-08-08 12 views
0

"registerdate"という列をMySQLテーブルに追加しました。この列のデータ型はDatetimeです(TIMESTAMPも試しました)。DEFAULTにはCURRENT_TIMESTAMPがあります。MySQL Datetimeの時刻が正しく表示されません。 ASP.NET C#

datetimeは登録後自動的に表示されます。その日時は正しい月と年が表示されますが、不正な時間(-10時間)が表示されます。
私は誰かが助けてくれてありがとう、それを修正する方法を知っていることを願っています。 TimeStamp上のMySQLのドキュメント(強調鉱山)から

+0

タイムゾーンあなたがデータを保存している方は下のようにCulture Infoに保存しようか – Sadique

+0

私はそのPDT - 太平洋夏時間だと思うが、それは私のタイムゾーンではないので変更する方法を知らない。 – user6613640

+0

変換を処理する必要があるかもしれない。ユーザーがデータを表示するタイムゾーン(UTC /ローカル) - ユーザーが複数のタイムゾーンでアプリケーションを開くことを許可すると、これは簡単ではありません。 SQL ServerでUTCでデータを保存することを確認してください。 – Sadique

答えて

0

MySQLは保存のためにUTCに現在のタイムゾーンからのタイムスタンプ値を変換し、バックUTCから検索するための現在のタイムゾーンに。 (DATETIMEのような他のタイプの場合は発生しません。)デフォルトでは、各接続の現在のタイムゾーンはサーバーの時刻です。

https://dev.mysql.com/doc/refman/5.5/en/datetime.html

+0

どうすればいいですか? – user6613640

+0

これは実際には問題ではないかもしれません - コメントで指摘されているように、誰かが別のタイムゾーンから自分のサイトにアクセスしようとするとどうなりますか? UTCとして保存し、接続の時間変換を行う方がよい。私の答えのリンクを読んで、これもよく読んでくださいhttp://dev.mysql.com/doc/refman/5.5/en//time-zone-support.html – user1666620

0

データベースにデータを保存する前に、

DateTime dt = DateTime.Now;  
// CultureInfo for German in Germany. 
CultureInfo ci = new CultureInfo("de-DE"); 
Console.WriteLine(dt.ToString("d", ci)); 
関連する問題