ADO.NET如何存储日期和时间?

时间:2010-01-04 08:06:21

标签: sql datetime ado.net utc

我很懒,用DateTime.Now写一个insert语句。它发生在我以后我应该写DateTime.Now.ToUniversalTime()。这让我想到,ADO会自动将日期转换为通用时间吗?当我拉出数据时将其恢复到本地?或者我是否需要在代码的每个区域自己编写ToUniversalTime和ToLocalTime?我应该如何在我的网站上正确管理时间?

1 个答案:

答案 0 :(得分:1)

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

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

我建议您在数据库中存储通用时间,并在字段名称中加上“UTC”,以便明确存储在字段中的内容,例如CreatedUtcDate