如何获取短日期 获取短日期System Nullable datetime (datetime ?)
for ed 12/31/2013 12:00:00
--> 只应该返回12/31/2013
.
我没有看到ToShortDateString
可用的。
您需要先使用.Value
(因为它可以为空)。
var shortString = yourDate.Value.ToShortDateString();
但也要检查是否yourDate
有值:
if (yourDate.HasValue) {
var shortString = yourDate.Value.ToShortDateString();
}
string.Format("{0:d}", dt);
作品:
DateTime? dt = (DateTime?)DateTime.Now;
string dateToday = string.Format("{0:d}", dt);
如果DateTime?
是,则null
返回一个空字符串。
该功能在类中绝对可用DateTime
。请参阅该类的 MSDN 文档:http: //msdn.microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx
由于Nullable
是类之上的泛型,DateTime
您将需要使用实例的.Value
属性DateTime?
来调用底层类方法,如下所示:
DateTime? date;
String shortDateString;
shortDateString = date.Value.ToShortDateString();
请注意,如果您尝试此操作 while date
is null ,则会引发异常。
如果要保证有值显示,可以GetValueOrDefault()
结合ToShortDateString
其他postelike这样的方法使用:
yourDate.GetValueOrDefault().ToShortDateString();
如果该值恰好为空,这将显示 01/01/0001。
检查它是否有价值,然后获取所需的日期
if (nullDate.HasValue)
{
nullDate.Value.ToShortDateString();
}
尝试
if (nullDate.HasValue)
{
nullDate.Value.ToShortDateString();
}
如果您使用的是 .cshtml,那么您可以使用 as
<td>@(item.InvoiceDate==null?"":DateTime.Parse(item.YourDate.ToString()).ToShortDateString())</td>
或者,如果您尝试在 c# 中查找操作或方法中的短日期,那么
yourDate.GetValueOrDefault().ToShortDateString();
史蒂夫已经在上面回答了。
我已经在我的项目中使用了这个。它工作正常。谢谢你。