在PostgreSQL
中有一种无时间存储日期的数据类型。在C#中,没有时间存储日期的最佳数据类型是什么?
我们知道,DateTime
可以在00:00:00时使用,但这对外部用户来说非常具有误导性,而且日期也没有时区,但DateTime
确实如此。 NodaTime不能在我们的项目中使用,因此我们正在寻找原生的.NET
解决方案。
答案 0 :(得分:5)
DateTime没有时区信息,只有通用的UTC /“Local”指标。
当时.NET中没有日期或时间类型。虽然缺少Date
会带来不便,但TimeOfDay
的缺失是一个更大的问题。人们正在CoreFX Lab存储库中尝试使用Date和TimeOfDay类型。
目前,您必须使用DateTime
课程或创建自己的Date
课程。即使是SQL Server ADO.NET提供程序也不提供仅限日期或时间的类。
当然,您可以随时“借用”来自CoreFX Lab的MIT许可experimental Date implementation。
注意强>
我了解航空旅行相关软件的痛苦和需求。当我只想与日期进行比较时,必须使用时区是非常烦人的。事情真的开始----虽然我需要在Json和DateTime之间转换以仅传递日期值。
答案 1 :(得分:1)
没有任何数据类型可以满足您在.NET中的需求。
只有DateTime
结构包含日期和时间的值。
此外,我没有看到您不使用DateTime
并仅向用户显示日期的原因。