web-dev-qa-db-ja.com

C#でシステムNullable日時(datetime?)の短い日付を取得します

System Nullable datetime (datetime ?)の短い日付を取得する方法

ed 12/31/2013 12:00:00->のみを返す必要があります12/31/2013

ToShortDateStringが表示されません。

39
user2811143

最初に.Valueを使用する必要があります(null許容のため)。

var shortString = yourDate.Value.ToShortDateString();

ただし、yourDateに値があることも確認してください。

if (yourDate.HasValue) {
   var shortString = yourDate.Value.ToShortDateString();
}
93
Darren

string.Format("{0:d}", dt);動作:

DateTime? dt = (DateTime?)DateTime.Now;
string dateToday = string.Format("{0:d}", dt);

デモ

DateTime?nullで、空の文字列を返します。

"d"カスタム書式指定子ToShortDateString と同じであることに注意してください。

15
Tim Schmelter

その関数はDateTimeクラス内で絶対に利用可能です。クラスのMSDNドキュメントを参照してください: http://msdn.Microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx

NullableDateTimeクラスの上にあるジェネリックであるため、以下に示すように、.ValueインスタンスのDateTime?プロパティを使用して、基になるクラスメソッドを呼び出す必要があります。 :

DateTime? date;
String shortDateString;
shortDateString = date.Value.ToShortDateString();

dateがnullのときにこれを試みると、例外がスローされることに注意してください。

6
JNYRanger

表示する値を保証したい場合は、GetValueOrDefault()ToShortDateStringメソッドと組み合わせて使用​​できます。

yourDate.GetValueOrDefault().ToShortDateString();

値がnullになった場合、01/01/0001が表示されます。

5
Steve Danner

.cshtmlを使用している場合、次のように使用できます。

<td>@(item.InvoiceDate==null?"":DateTime.Parse(item.YourDate.ToString()).ToShortDateString())</td>

または、C#でアクションまたはメソッドで短い日付を見つけようとすると

yourDate.GetValueOrDefault().ToShortDateString();

そして、すでに上記でスティーブによって回答されています。

私は自分のプロジェクトで使用したときにこれを共有しました。正常に動作します。ありがとうございました。

0
Er. Binod Mehta

試して

    if (nullDate.HasValue)
    {
         nullDate.Value.ToShortDateString();
    }
0
user6721009

値があるかどうかを確認し、必要な日付を取得します

if (nullDate.HasValue)
{
     nullDate.Value.ToShortDateString();
}
0
Muhammad Umar