2012-04-12 4 views
0

2つのテキストボックスに2つのajaxカレンダーがあります.1つは開始日で、もう1つは終了日です。私のテキストボックスから2つのajaxポップアップカレンダーの違い

string a = txt1.Text; 
     string b = txt2.Text; 


     DateTime data1 = Convert.ToDateTime(a); 
     DateTime data2 = Convert.ToDateTime(b); 

     TimeSpan span = data2 - data1; 

     int zile = Convert.ToInt32(Math.Ceiling(span.TotalDays)); 

     label.Text = span.ToString(); 

日付がこの形式である:私はそれらの間の日数を見つけようとしているが、私はそれがright.Thisように見えることはできません、私はそれを行う方法である2012年4月4日2012年4月5日これは1日の違いですが、このコードを実行すると、1か月として解釈されるため30日かかるようになります。どのように変更できますか?

答えて

0

結果が92時間0時間、0分、0秒を示していませんか?私はここに問題がないと思う。

編集 - あなたはそれがあなたにわずか数日のプロパティを与えることを望んでいる場合は、それをテストし、this SO postこれは私のために働いた

+0

しかしそれは3日の違いだけです – p0rter

+0

私の違いは3日92ではありません。 – Bibu

+0

あなたは3ヶ月を意味しますか? 2012年6月4日 - 3/4/2012 = 3ヶ月(この場合は92日間) –

1

を見てみましょう。

using System; 

namespace DaySpan 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      DateTime startDate = DateTime.Parse("03.04.2012"); 
      DateTime endDate = DateTime.Parse("06.04.2012"); 

      Console.WriteLine(startDate.ToString()); 
      Console.WriteLine(endDate.ToString()); 

      Console.WriteLine("--------------------------------"); 
      Console.WriteLine("Calculate dayspan:"); 

      TimeSpan span = endDate - startDate; 

      Console.WriteLine("Span: " + span.TotalDays); 

      Console.ReadLine(); 

     } 
    } 
} 

EDIT:これは、datetime解析とロケールのトップポストで言及されているような問題です。しかし、これは私のロケール(ノルウェー語)で正しいです。

+0

yeaは私のためにも働きますあなたはspan.Daysを行うことができます。 span.TotalDaysの代わりに – Zaki