从SQL Server&获取UTC日期在网格中显示为当地时间

时间:2009-02-26 15:40:03

标签: datetime utc

我在SQL Server 2005中有一个表,其中一个日期时间列以UTC格式保存日期。我希望客户端调用.NET服务器应用程序,服务器将返回带有记录的DataTable,以便将客户端绑定到DataGridView。 **在客户端,日期应以当地时间**显示,客户将在世界的五个地区。 有没有人有任何实现这个的提示? 我当然可以在显示之前添加几行来循环并更新表格中的日期,但我不禁觉得必须采用一些时髦的方式来做到这一点。

TA !!

2 个答案:

答案 0 :(得分:1)

DateTime.ToLocalTime正是您要找的。

基本上,您调用该方法的事实告诉DateTime对象添加当前文化的UTC偏移量并返回结果。 DateTime.ToUniversalTime恰恰相反。

答案 1 :(得分:0)

首先,确保表中的DATETIME值存储为UTC值。

之后,当您阅读它们时,“客户端”应用程序可以将它们转换为本地日期时间(无论可能是什么)。

插入/更新内容时,请确保在存储到db中之前从local转换为utc。