0

我正在制作一个网页,因为我使用 Ajax 日历来选择两个日期,例如TO日期和From日期,而且我也有一个Textbox总天数。

因此,当用户选择日期时tofrom这些日期的差异会显示在文本框中。那么我怎样才能找到这些日期的差异..?

我将格式设置为dd/MM/yyyy.

例如

one textbox has: 20/04/2012  
second has     : 02/05/2012

那么,请找出这些区别?

在此先感谢....
Mitesh

4

4 回答 4

8

减法运算符 (-) 适用于 DateTime

DateTime to_datetime = DateTime.ParseExact(to_textbox.Text, "dd/MM/yyyy", 
                                           CultureInfo.InvariantCulture);
DateTime from_datetime = DateTime.ParseExact(from_textbox.Text, "dd/MM/yyyy", 
                                             CultureInfo.InvariantCulture);

Timespan result  = to_datetime - from_datetime;

您可以将其用作

textBox1.Text = (to_datetime - from_datetime).TotalDays.ToString();
于 2012-07-02T05:56:49.633 回答
3

使用以下命令将您的文本框值转换为日期:

DateTime dt1 = DateTime.ParseExact(textbox1.Text, "d/M/yyyy", CultureInfo.InvariantCulture);
DateTime dt2 = DateTime.ParseExact(textbox2.Text, "d/M/yyyy", CultureInfo.InvariantCulture);

使用时间跨度

    TimeSpan ts = dt1.Subtract(dt2);
    Console.Write(ts.TotalDays);
    textBox3.Text = ts.TotalDays;
于 2012-07-02T05:55:22.737 回答
1

假设 C# 代码:DateTime 支持“-”导致 TimeSpan 对象。

DateTime nowTime = DateTime.Now;
DateTime yesterday = nowTime.AddDay(-1);
TimeSpan diff = nowTime - yesterday;
于 2012-07-02T06:00:06.603 回答
0
DateTime date1 =DateTime.ParseExact("20/04/2012","d/M/yyyy",null);
 DateTime date2 = DateTime.ParseExact("02/05/2012", "d/M/yyyy", null); 
 TimeSpan datediff = date2 - date1;
 Response.Write(datediff.ToString());
于 2012-07-02T06:16:10.323 回答