0

2 つの ajax カレンダーを含む 2 つのテキスト ボックスがあります。1 つは開始日で、もう 1 つは終了日です。私はそれらの間の日を見つけようとしていますが、私はそれを正しくすることができないようです.これは私がそれを行う方法です:

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();

私のテキストボックスの日付は、2012 年 4 月 4 日と 2012 年 4 月 5 日の形式です。これは 1 日の違いのはずですが、このコードを実行すると、1 か月と解釈されるため 30 日になります。

4

2 に答える 2

1

This worked for me, just tested it.

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: This may though a problem as mentioned in top post with datetime parsing and locale. However this is correct with my locale (norwegian).

于 2012-04-12T09:33:15.027 に答える
0

その結果、92日0時0分0秒ではないですか?私はここで問題を見ていないと思います。

編集 - days プロパティだけを取得したい場合は、この SO 投稿をご覧ください。

于 2012-04-12T09:22:43.020 に答える