gpt4 book ai didi

c# - 在 .NET 中处理空日期的标准方法是什么

转载 作者:太空狗 更新时间:2023-10-30 00:27:45 25 4
gpt4 key购买 nike

我有带有 C# 的 asp.net 表单,我在哪里使用 Linq 像往常一样将用户信息插入数据库。出色地。当我也从用户那里获取出生日期时,但是如果用户跳过从 ui 填写日期文本框,那么我得到的日期类似于“01/01/0001”,这肯定是数据库安全不允许的存储它。

所以我需要检查我的代码中的某处它是否为 null 或这种(上面给出的)格式。如果它为空或格式为“01/01/0001”,那么我到底需要做什么?我没有任何默认日期值。

如果日期为空(但不是强制性的),那么标准的处理方式是什么。请指导我。很多次我发现自己在处理各种类型的 null 时陷入了陷阱。

已编辑看看我做了什么似乎在这里工作。但我不认为这是标准方式:

DateTime? otxtDOB = new DateTime();
if (!string.IsNullOrEmpty(DOB))
{
if (Convert.ToDateTime(DOB) != DateTime.MinValue)
{
otxtDateOfPurchese = Convert.ToDateTime(Convert.ToDateTime(DOB).ToString("dd-MMM-yyyy"));
}
else
{
otxtDOB = null;
}

}

请确认这是正确的方法吗?

最佳答案

将日期属性设置为 Nullable(即“DateTime?”)应该允许它在用户未设置时实际为 null。 (如果你的数据库列允许空值,它可以在数据库中存储为空值)

否则它将默认为 DateTime.MinValue,这就是您在此处看到的。在添加到数据库时,您必须明确测试 DateTime.MinValue

关于c# - 在 .NET 中处理空日期的标准方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5309741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com