我有2个带有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();
我的文本框中的日期采用以下格式:2012年4月4日和2012年4月5日。这应该是一天的差异但是当我运行这个代码时它会带来30天,因为它被解释为一个月......我怎么能改变它?
答案 0 :(得分: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();
}
}
}
编辑:这可能是顶级帖子中提到的日期时间解析和语言环境问题。但是这对我的语言环境(挪威语)来说是正确的。
答案 1 :(得分:0)
这个结果是否表示92天0小时,0分钟,0秒?我想我不会在这里看到问题。
编辑 - 如果您希望仅提供日期属性,请查看this SO post