我们在.NET中开发了一个大型winforms应用程序,客户端已要求以不同的日期格式查看信息。
我们遇到的问题是,如果我们将本地区域设置设置为客户端的日期格式,则SQL代码会随处可见,因为传递给SQL的日期与SQL期望的格式不同。
有没有办法解决这个问题,而不必在任何地方更改我的代码,像这样? MySqlProvider.SaveLoginDate(theDate.ToString( “DD / MM / YYYY”);
答案 0 :(得分:2)
最好在代码的用户界面部分处理日期格式和日期解析,以便在与数据库通信时处理DateTime
值。格式化和解析日期时指定区域性或格式字符串。
此外,如果您有不同时区的用户,则将日期存储为UTC是个好主意。使用ToLocalTime
和ToUniversalTime
在UTC和本地时区之间进行转换。