2016-12-14 27 views
-1

DateTimeオブジェクトの配列を作成しました。しかし、デフォルトでは、配列には時間部分がアタッチされています。私はこれを "dd/MM/yyyy"形式の別の日付と比較するために削除する必要があります。私は時刻部分なしのDateTimeの配列の作成

monthlyCalendar.SelectionEnd.Date == excluHarry[0].Date 

でどのように私は、配列の要素に時刻部分を削除しないことを比較しようとしている

DateTime[] exclusionDates = new DateTime[] { new DateTime(2017, 1, 1) }; 

配列を作成しますか?

ありがとうございました。

+1

日付は文字列として表すことができる数値です。あなたがそれらを比較するとき、数字が比較されるので、時間部分を取り除く必要はありません... – Marco

+0

はい、申し訳ありません私はまっすぐ考えていませんでした。今すぐ修正しました。 – Harry

答えて

1

。DateTimeオブジェクトからの日付は、文字列変換を行うことなく、探しているものを得ることができます。私は、日付が同じだが時間の異なる2つのDateTimeオブジェクトを使用してサンプルコードをアタッチしました。 if文は日付部分のみを比較します。あなたを最も助けてくれた答えを受け入れてください。スタックオーバーフローへようこそ

using System; 

namespace DateObject 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      DateTime[] exDates = new DateTime[] {new DateTime(2017, 1, 1)}; 
      var dt = exDates[0].Date; 

      //new date with a different time 
      DateTime t = new DateTime(2017, 1, 1, 5, 30, 23); 

      //compare the two for date part only --exclude the time in the comparision 
      if (dt.Equals(t.Date)) 
      { 
       Console.WriteLine("Dates are the same without comparing the time"); 
      } 
     } 
    } 
} 
3

DateTimeオブジェクトで.Dateを使用すると、すでに時間部分が除外されています。

はまた、DateTimeオブジェクトには何の形式を持っていない、あなたがそれに.ToString()を呼び出すときに、それが唯一の形式を取得し、あなたのmonthlyCalendarオブジェクトは、ユーザーにそれを表示する前に、それはあなたからそのフォームでそれを見るだけの理由で、内部.ToString("dd/MM/yyyy")を呼び出しますユーザの視点。

+0

ありがとうございました。 – Harry

関連する問題