【问题标题】:What's the easiest way to change your date format on a .NET WinForms application using SQL?使用 SQL 在 .NET WinForms 应用程序上更改日期格式的最简单方法是什么?
【发布时间】:2012-05-28 08:33:07
【问题描述】:

我们在 .NET 中开发了一个大型 winforms 应用程序,客户要求以不同的日期格式查看信息。

我们遇到的问题是,如果我们将本地区域设置设置为客户端的日期格式,由于传递给 SQL 的日期不再是 SQL 所期望的格式,因此 SQL 代码会到处乱跑。

有没有办法绕过这个问题,而不必像这样到处更改我的代码? MySqlProvider.SaveLoginDate(theDate.ToString("dd/MM/yyyy");

【问题讨论】:

  • 如何在 SQL 中存储日期? SQL 日期对象具有文化意识,因此更改客户端区域设置实际上不会影响 SQL 处理它们的方式,“它只是工作”。但是,如果您的日期实际上是一个字符串,那么您就得靠自己了。
  • 你能使用自定义日期时间格式函数吗,比如这个链接iamraghuveer.com/2012/01/string-format-for-datetime.html

标签: .net sql winforms date


【解决方案1】:

最好在代码的用户界面部分处理日期格式和日期解析,以便在与数据库通信时处理DateTime 值。在格式化和解析日期时指定文化或格式字符串。

此外,如果您有不同时区的用户,将日期存储为 UTC 也是一个好主意。使用ToLocalTimeToUniversalTime 在UTC 和本地时区之间进行转换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-07
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多