2016-11-01 26 views
-3

長いdateTimeをC#の日付のみに変換します。名前が示すように - - 日付と時刻のコンポーネントを両方のdateTimeタイプで長い形式の日付を短い形式に変換する方法DateTimeがC#の日付の日付

DateTime creationDate = DateTime.Now; 
DateTime shortDate = creeationDate.Date; 
+0

あなたの 'shortDate'はゼロ時間(真夜中)になります。 –

+0

このコードはコンパイルされません。 creEationDateはcreationDateではありません。おそらくこれが問題です。さもなければこれは働いている。 – mybirthname

+0

この問題は、もはや再現できない問題や簡単な誤植によって引き起こされました。同様の質問がここでは話題になるかもしれないが、これは将来の読者を助けるとは思わない方法で解決された。これは、転記する前に問題を再現するのに必要な最短のプログラムを特定して綿密に検査することによって回避することができます。 – mybirthname

答えて

0

DateTimeは常に持っている構造体、です。あなたは時間を削除することはできませんし、私の知る限りでは、.NETに日付のみの型は組み込まれていません(おそらく、サードパーティのライブラリにいくつかあります)。

すでに00:00:00.000に設定された時間のコンポーネントと新しいDateTimeを返すDateTimeDate性質を発見しました。

あなただけの出力にあなたがあなたの日付の計算を必要とするが、時間の要素を無視したい場合は、それに応じて日付を初期化することができDateTime

DateTime creationDate = DateTime.Now; 
string shortDate = creatationDate.ToString("yyyy-MM-dd"); //or whatever formatting you need. 

にいくつかの書式設定を適用する必要がありますあなたの現在の日付を必要とする場合あなたのコードでやったように。

DateTime creationDate = DateTime.Now.Date; //sets time component to 00:00 
DateTime otherDate = new DateTime(2016, 11, 2, 0,0,0); //also initializies with time 00:00 
int diff = (int)(otherDate-creationDate).TotalDays; //number of days between the two dates 
関連する問題