我在MySQL表中添加了一个名为“registerdate”的列,此列的数据类型为Datetime(我也尝试过TIMESTAMP),在DEFAULT中我有CURRENT_TIMESTAMP
。
日期时间在注册后自动显示,显示正确的日期和年份,但显示不正确的小时(-10小时)。
我希望有人知道如何解决它,谢谢你的帮助。
答案 0 :(得分:0)
来自TimeStamp
的MySQL文档(强调我的):
MySQL将TIMESTAMP值从当前时区转换为UTC进行存储,然后从UTC转换回当前时区进行检索。 (其他类型(例如DATETIME)不会发生这种情况。)默认情况下,每个连接的当前时区是服务器的时间。
答案 1 :(得分:0)
在将数据保存到数据库之前,请尝试使用Culture Info
保存,如下所示
DateTime dt = DateTime.Now;
// CultureInfo for German in Germany.
CultureInfo ci = new CultureInfo("de-DE");
Console.WriteLine(dt.ToString("d", ci));