gpt4 book ai didi

.net - 当且仅当时间部分 = 00 :00:00? 时,如何在显示中抑制 .NET DateTime 的时间部分

转载 作者:行者123 更新时间:2023-12-01 09:39:28 24 4
gpt4 key购买 nike

在一个 ASP.NET 页面中,我有这个:

<asp:Label ID="MyDateTimeLabel" runat="server" 
Text='<%# Eval("MyDateTime") %>' />

我希望它的格式像

... Eval("MyDateTime", "{0:d}") ... // Display only the date

当且仅当 MyDateTime 的时间部分是 00:00:00。否则像这样:

... Eval("MyDateTime", "{0:g}") ... // Display date and time in hh:mm format

这可能吗?我该怎么做?

提前感谢您的提示!

最佳答案

我会把它放在我的代码隐藏中:

// This could use a better name!
protected string FormatDateHideMidnight(DateTime dateTime) {
if (dateTime.TimeOfDay == TimeSpan.Zero) {
return dateTime.ToString("d");
} else {
return dateTime.ToString("g");
}
}

并更改 .aspx 来调用它:

<asp:Label ID="MyDateTimeLabel" runat="server" 
Text='<%# FormatDateHideMidnight((DateTime)Eval("MyDateTime")) %>' />

如果您在多个地方执行此操作,请考虑写入 an extension method DateTime 并将此逻辑放在那里(可能带有其他参数以提供不同的格式等)。

关于.net - 当且仅当时间部分 = 00 :00:00? 时,如何在显示中抑制 .NET DateTime 的时间部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2297314/

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