我很懒,用DateTime.Now写一个insert语句。它发生在我以后我应该写DateTime.Now.ToUniversalTime()。这让我想到,ADO会自动将日期转换为通用时间吗?当我拉出数据时将其恢复到本地?或者我是否需要在代码的每个区域自己编写ToUniversalTime和ToLocalTime?我应该如何在我的网站上正确管理时间?
答案 0 :(得分:1)
DateTime
结构包含Kind
属性,该属性指定值是本地时间还是通用时间(或未指定)。
将日期存储在数据库中时,它只是存储的日期和时间组件。 Kind
组件丢失,因此当您从数据库中读取DateTime
值时,您无法判断它是存储的本地时间还是通用时间。
我建议您在数据库中存储通用时间,并在字段名称中加上“UTC”,以便明确存储在字段中的内容,例如CreatedUtcDate
。