【发布时间】:2009-11-23 15:55:29
【问题描述】:
我有这个代码:
startWeekDate = startWeekDate == null ? DateTimeHelpers.calcMondayDate(DateTime.Now) : DateTimeHelpers.calcMondayDate(startWeekDate.Value);
DateTime endWeekDate = startWeekDate.Value.AddDays(6);
startWeekDate 是一个可以为空的参数。这很好用,但我想将其格式化为: String.Format("{d:0}", .... ) 但是当我在它周围拍打时会出错。
不能将类型'string'隐式转换为'System.DateTime?
我该如何解决这个问题?
/M
编辑:
我正在尝试将其添加到函数中,因为它应该始终返回没有时钟的 dateformat,但我在此代码中遇到了同样的错误:
public static DateTime calcMondayDate(DateTime input)
{
int delta = DayOfWeek.Monday - input.DayOfWeek;
DateTime monday = String.Format("{d:0}", input.AddDays(delta));
return monday;
}
无法将类型“字符串”隐式转换为“System.DateTime”
嗯,但是输入的是DateTime,为什么抱怨它是字符串?
【问题讨论】:
-
startWeekDate 究竟是什么可空类型?
-
公开.....(DateTime?startWeekDate)
-
如果 var 值为 null,您希望格式化后的字符串是什么?
-
哦,等等,你是在尝试 startWeekDate = String.Format(...) 吗?
标签: c#