c# - 应该使用哪种 C# 数据类型来存储没有时间的日期?

标签 c# .net postgresql

PostgreSQL 中有一种数据类型用于存储不带时间的日期。在 C# 中存储没有时间的日期的最佳数据类型是什么?

我们知道,DateTime 可以与 00:00:00 时间一起使用,但这对外部用户来说是非常误导的,而且日期也没有时区,但是 DateTime 确实如此。 NodaTime不能在我们的项目中使用,所以我们正在寻找原生的.NET解决方案。

最佳答案

DateTime 没有时区信息,只有通用的 UTC/“本地”指示符。

当时 .NET 中没有日期或时间类型。缺少 Date 会带来不便,而缺少 TimeOfDay 则是一个更大的问题。尽管在 CoreFX Lab 上,人们正在试验 Date 和 TimeOfDay 类型存储库。

目前您必须使用DateTime 类或创建您自己的Date 类。甚至 SQL Server ADO.NET 提供程序也不提供仅限日期或时间的类。

当然你总是可以“借用”麻省理工学院授权的experimental Date implementation来自 CoreFX 实验室。

注意

我理解我在航空旅行相关软件上工作的痛苦和需要。当我只想与日期进行比较时必须使用时区真的很烦人。事情真正开始了 ---- 虽然当我需要在 Json 和 DateTime 之间转换以传递仅日期值时。

关于c# - 应该使用哪种 C# 数据类型来存储没有时间的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32355354/

相关文章:

c# - ANTLR 从 Java 到 C#

sql - 通过在SQL中的多个列中选择最大值来选择列

c# - 实体和 POCO 的区别

c# - 如何在 Mailkit 中使用消息 ID 获取消息?

c# - datepicker 没有选择自定义日期格式?

c# - WebView2 DevToolsProtocolEvent 未引发

sql - Postgresql 复制到循环中变量的 csv 自动错误

javascript - Node.js 的数据库继承模型

c# - 如何让 Linqpad intellisense 显示 C# 5.0 方法?

c# - 处理异步日志写入的更好方法