【问题标题】:dateTime without time in aspx在 aspx 中没有时间的 dateTime
【发布时间】:2017-10-17 14:27:23
【问题描述】:

我是初学者。 我创建了一个网络表单应用程序。我使用实体框架并查看模型。 我有很多 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 标记中添加属性?

提前谢谢你

【问题讨论】:

    标签: c# asp.net date datetime


    【解决方案1】:

    根据您使用的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>
    

    【讨论】:

    • Item.DateNextVisit.Value.ToShortDateString()
    • @TimSchmelter 如果您想返回特定于文化的字符串表示形式,那么可以。如果你想要一种特定的格式,我不会选择任何可能受文化影响的东西。
    • 非常感谢!它完美无缺! :D 确实是 Nullable
    • Item.DateNextVisit?.ToString(..) 也可以。如果DateNextVisit 为空,它将返回nullItem.DateNextVisit?.ToString(..) ??""返回空
    • @ZoharPeled:您的方法也是针对特定文化的(如果您使用yyyy-MMM-dd,则值得注意)。我刚刚提到是因为 OP 也尝试使用它。他也可以使用Item.DateNextVisit.Value.ToString("d")
    【解决方案2】:

    感谢您为选择 .Net 系列所做的努力。

    使用以下格式:

    String.Format("{0:M/d/yyyy}", Item.DateNextVisit);
    

    点击此链接在 .Net 中进一步使用日期时间:

    http://www.csharp-examples.net/string-format-datetime/

    并为答案竖起大拇指。干杯!

    【讨论】:

      【解决方案3】:

      如果DateNextVisitNullable&lt;DateTime&gt;,您可以使用空条件运算符?. 获取值或返回空值。如果值为 null,您还可以使用 null 合并运算符 ?? 返回一个空字符串:

      Item.DateNextVisit?.ToString("YYYY-MM-DD") ?? ""
      

      例如:

      <span><%#: Item.DateNextVisit?.ToString("YYYY-MM-DD")??"" %> </span>
      

      如果 DateNextVisit 为 null,则 ?. 运算符将返回 null insted 调用 ToString()?? 将用空字符串替换它

      【讨论】:

        猜你喜欢
        • 2015-04-22
        • 2014-12-04
        • 2016-11-07
        • 1970-01-01
        • 1970-01-01
        • 2017-05-20
        • 2012-03-26
        • 2016-07-02
        • 1970-01-01
        相关资源
        最近更新 更多