datatable - 在DataTable中显示用户TimeZone中的DateTime数据

标签 datatable timezone

我们有一个报告应用程序,其中所有日期时间都以 UTC 格式存储在数据库 (SQL server 2005) 中

报告应用程序的工作原理很简单,就是检索 DataTable 并绑定(bind)到显示信息的 DataGrid。

如果我们知道登录用户的时区(例如 +3 GMT),是否有任何方法可以更新 UTC 中的 DataTables 日期现在显示在用户时区中?

我们知道我们可以遍历 DataTable 中的每一列/行并进行转换,但是否有更好更有效的方法?

最佳答案

我会修改显示给用户的时间。保持其存储方式一致,同时存储他们的时区,然后修改 UI 以显示正确的本地时间。例如,如果他们的时区是中央标准时间,那么您可以使用类似于以下代码的内容:

SomeDataObject someDataObject = new SomeDataObject();

someDataObject.TimeZone = -5; //UTC Timezone for Central Standard Time
someDataObject.Time = DateTime.Now;

DateTime someTime = someDataObject.Time;
someTime.Add(someDataObject.TimeZone); // Display this back to the user

关于datatable - 在DataTable中显示用户TimeZone中的DateTime数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/888018/

相关文章:

c# - 使用 Linq 加载数据表 - 将 C# 转换为 VB.Net

c# - 检查 Linq 结果中的 DateTime 是否为 Null 的语法

javascript - AngularJS 中的时区在 ie9 文档模式下不正确

postgresql - Postgres UTC 日期格式和纪元转换、符号反转

java - 日期时间格式中的小写 z 返回偏移量,而不是缩写

Jquery 数据表和 Mysql 错误 : The value of the search cannot be null. 如果没有执行搜索,请提供一个空字符串。

c# - 如何迭代数据表

c# - XML 字符串到 C# 中的 DataTable

java - 带有时区的午夜日期发送到时区无知系统

javascript - setUTCminutes 与 setMinutes 之间的区别