2

私はvs2010を使用しています。

以下のコードは、2つのテキストボックスに2つの日付を入力する方法です。番号を計算する方法を知りたいです。可能であれば、そのnumber.thnxから日曜日も事前に離陸する方法を教えてもらえますか?

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Calendar1.Visible = true;

}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
    TextBox3.Text = Calendar1.SelectedDate.ToLongDateString();
    Calendar1.Visible = false;
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
    Calendar2.Visible = true;

}
protected void Calendar2_SelectionChanged(object sender, EventArgs e)
{
    TextBox4.Text = Calendar2.SelectedDate.ToLongDateString();
    Calendar2.Visible = false;
}
4

3 に答える 3

3

これは機能するはずです。

var days = (Calendar1.SelectedDate - Calendar2.SelectedDate).TotalDays;

ただし、これは日曜日を除外するものではありません。

于 2012-06-01T17:22:40.600 に答える
1

DateTime.Substractを使用して計算を行うことができます。
返されたTimeSpanオブジェクトを使用すると、日曜日の計算と削除が簡単になります。
編集
ジョンは彼のコメントで正しいです、そしてそれはTimeSpanだけを使って日曜日を得るのは簡単ではありません。以下のコメント(louisによる)で提供されているリンクは、仕事のこの部分を行っているようですが

于 2012-06-01T17:24:33.437 に答える
0

TimeSpan2つの値を引いてaを計算しDateTimeます。

次のコードで開始できます。

 if ( Calendar2.SelectedDate != null && Calendar1.SelectDate != null )
 {
      TimeSpan Value;
      if ( Calendar2.SelectedDate >= Calendar1.SelectedDate )
           Value = (Calendar2.SelectedDate - Calendar1.SelectedDate).TotalDays;
      else
          Value = (Calendar1.SelectedDate - Calendar2.SelectedDate).TotalDays; 
 }

私は現在VisualStudioにアクセスできません。これはコンパイルするためのものだと思いますが、これは簡単で汚い提案です。

public Nullable SelectedDate {get; セットする; }

于 2012-06-01T17:31:00.253 に答える