gpt4 book ai didi

C# 可空日期时间格式错误 - 无法将类型 'string' 隐式转换为 'System.DateTime?'

转载 作者:行者123 更新时间:2023-11-30 21:48:11 30 4
gpt4 key购买 nike

我的数据库中有一个可为空的日期时间列。

在我的 View 模型中,我将此属性定义如下:

public DateTime? ExpiryDate { get; set; }

在我的 Controller 编辑方法中,我试图按如下方式设置此属性的值:

 viewModel.ExpiryDate = topic.ExpiryDate.HasValue ?
topic.ExpiryDate.Value.ToString("DD MMM YYYY") : null;

但是我得到了错误:

 Cannot implicitly convert type 'string' to 'System.DateTime?'

如果我有以下内容,即不可为空,则它可以正常工作而不会出现任何错误:

 public DateTime ExpiryDate { get; set; }

viewModel.ExpiryDate = topic.ExpiryDate.ToString("DD MMM YYYY")

最佳答案

这样做:

viewModel.ExpiryDate = topic.ExpiryDate.HasValue ?
topic.ExpiryDate.Value : null;

使用此代码 .ToString("DD MMM YYYY"),您将字符串传递给 DateTime 类型的属性。请确保 viewModel.ExpiryDate 也是一个可为 null 的 DateTime 类型,因为您正在尝试分配一个 null 值。

关于C# 可空日期时间格式错误 - 无法将类型 'string' 隐式转换为 'System.DateTime?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37853209/

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