【问题标题】:How does ADO.NET store dates and time?ADO.NET 如何存储日期和时间?
【发布时间】:2010-01-04 08:06:20
【问题描述】:

我很懒,用 DateTime.Now 写了一个插入语句。后来我想到我应该写 DateTime.Now.ToUniversalTime()。这让我想到,ADO 会自动将日期转换为世界时间吗?并在我提取数据时将其恢复到本地?或者我是否需要在每个代码区域自己编写 ToUniversalTime 和 ToLocalTime ?我应该如何在我的网站上正确管理时间?

【问题讨论】:

    标签: sql datetime ado.net utc


    【解决方案1】:

    DateTime 结构包含 Kind 属性,该属性指定值是本地时间还是通用时间(或未指定)。

    当您将日期存储在数据库中时,仅存储日期和时间组件。 Kind 组件丢失了,因此当您从数据库中读取 DateTime 值时,您无法判断它存储的是本地时间还是通用时间。

    我建议您将世界时存储在数据库中,并在字段名称中加上“UTC”以使字段中存储的内容一目了然,例如CreatedUtcDate

    【讨论】:

      猜你喜欢
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2012-12-27
      • 1970-01-01
      相关资源
      最近更新 更多