我在 SQL Server 2005 中有一个表,其中有一个 datetime 列,其中包含 UTC 格式的日期。我希望客户端调用 .NET 服务器应用程序,服务器将返回一个 DataTable,其中包含将客户端绑定到 DataGridView 的记录。** 在客户端上,日期应显示为当地时间 **,客户将在世界上的多个地区。有没有人有任何关于实现这一目标的提示?我当然可以添加几行来循环遍历并在显示之前更新表格中的日期,但我不禁觉得必须有一些时髦时髦的方式来做到这一点。
塔!!
DateTime.ToLocalTime是您正在寻找的。
本质上,您调用该方法的事实告诉 DateTime 对象添加当前区域性与 UTC 的偏移量并返回结果。 DateTime.ToUniversalTime则相反。
首先,确保表中的 DATETIME 值存储为 UTC 值。
之后,当您阅读它们时,“客户端”应用程序可以将它们转换为本地日期时间(无论是什么)。
插入/更新内容时,请确保在存储到数据库之前从本地转换为 utc。