我是初学者。 我创建了一个webform应用程序。我使用实体框架和视图模型。 我有很多dateTime实体,但我想保持日期没有时间。 一个例子:
<span><%#: (Item.DateNextVisit.HasValue ? Item.DateNextVisit.ToString() : string.Empty) %> </span>
结果:16/11/2021 00:00:00
如何在span标记中保留日期?
我已经尝试添加“ToString(”yyyy-MM-dd“)”或替换为“ToShortDateString()”。但它不起作用。 也许它不是宣布它的好地方。但我不想在代码中声明这一点。 是否可以在条件?
中添加aspx标签中的属性提前谢谢
答案 0 :(得分:3)
根据您使用的HasValue
媒体资源,Item.DateNextVisit
不是DateTime
,而是Nullable<DateTime>
。
Nullable<T>
结构没有接受字符串作为参数的ToString()
方法的重载。它只有一个无参数ToString()
,返回当前Nullable<T>
对象值的文本表示。
请改用Item.DateNextVisit.Value.ToString("yyyy-MM-dd")
。
将其置于您提供的代码的上下文中:
<span><%#: (Item.DateNextVisit.HasValue ? Item.DateNextVisit.Value.ToString("yyyy-MM-dd") : string.Empty) %> </span>
答案 1 :(得分:0)
我赞赏你选择.Net家庭的努力。
使用以下格式:
String.Format("{0:M/d/yyyy}", Item.DateNextVisit);
点击此链接,进一步了解.Net中的日期时间:
http://www.csharp-examples.net/string-format-datetime/
并竖起大拇指答案。干杯!
答案 2 :(得分:0)
如果<aspNetCore **requestTimeout="00:20:00"** processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
是DateNextVisit
,您可以使用空条件运算符Nullable<DateTime>
来获取值或返回null。如果值为null,您还可以使用null合并运算符?.
返回空字符串:
??
例如:
Item.DateNextVisit?.ToString("YYYY-MM-DD") ?? ""
如果DateNextVisit为null,则<span><%#: Item.DateNextVisit?.ToString("YYYY-MM-DD")??"" %> </span>
运算符将返回调用?.
的null。 ToString()
将使用空字符串