aspx

时间:2017-10-17 14:27:24

标签: c# asp.net date datetime

我是初学者。 我创建了一个webform应用程序。我使用实体框架和视图模型。 我有很多dateTime实体,但我想保持日期没有时间。 一个例子:

<span><%#: (Item.DateNextVisit.HasValue ? Item.DateNextVisit.ToString() : string.Empty) %> </span>

结果:1​​6/11/2021 00:00:00

如何在span标记中保留日期?

我已经尝试添加“ToString(”yyyy-MM-dd“)”或替换为“ToShortDateString()”。但它不起作用。 也许它不是宣布它的好地方。但我不想在代码中声明这一点。 是否可以在条件?

中添加aspx标签中的属性

提前谢谢

3 个答案:

答案 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()将使用空字符串

替换它