C# 用于计算两个日期之间天数的代码
C#计算两个日期之间天数的代码…我在一个文本框中有开始日期,在另一个文本框中有结束日期,我需要获得两个日期之间的天数,并显示在第三个文本框中,它应排除节假日和周末(周六和周日).您可以将textbox dates解析为date time对象,然后在下面几行中进行尝试C# 用于计算两个日期之间天数的代码,c#,asp.net,C#,Asp.net,C#计算两个日期之间天数的代码…我在一个文本框中有开始日期,在另一个文本框中有结束日期,我需要获得两个日期之间的天数,并显示在第三个文本框中,它应排除节假日和周末(周六和周日).您可以将textbox dates解析为date time对象,然后在下面几行中进行尝试 DateTime startDate = new DateTime(2013, 03, 01); DateTime endDate = DateTime.Today; // 12 March 2013 int totalDays =
DateTime startDate = new DateTime(2013, 03, 01);
DateTime endDate = DateTime.Today; // 12 March 2013
int totalDays = 0;
while (startDate <= endDate)
{
if (startDate.DayOfWeek == DayOfWeek.Saturday
|| startDate.DayOfWeek == DayOfWeek.Sunday)
{
startDate = startDate.AddDays(1);
continue;
}
startDate = startDate.AddDays(1);
totalDays++;
}
Console.WriteLine("Total days excluding weekends: {0}", totalDays);
DateTime startDate=新日期时间(2013,03,01);
DateTime endDate=DateTime.Today;//2013年3月12日
整数总天数=0;
while(startDate您可以将textbox dates解析为date time对象,然后在下面几行中进行尝试
DateTime startDate = new DateTime(2013, 03, 01);
DateTime endDate = DateTime.Today; // 12 March 2013
int totalDays = 0;
while (startDate <= endDate)
{
if (startDate.DayOfWeek == DayOfWeek.Saturday
|| startDate.DayOfWeek == DayOfWeek.Sunday)
{
startDate = startDate.AddDays(1);
continue;
}
startDate = startDate.AddDays(1);
totalDays++;
}
Console.WriteLine("Total days excluding weekends: {0}", totalDays);
DateTime startDate=新日期时间(2013,03,01);
DateTime endDate=DateTime.Today;//2013年3月12日
整数总天数=0;
而(开始日期如果文本框中有两个日期,即textBox1和textBox2
DateTime date1= new DateTime();
DateTime date2 = new DateTime();
double days;
bool isDate1Valid =DateTime.TryParse(textBox1.Text, out date1);
bool isDate2Valid =DateTime.TryParse(textBox2.Text, out date2);
if(isDate1Valid && isDate2Valid)
days = (date1-date2).TotalDays;
编辑
如果您需要在不循环的情况下执行此操作
如果日期差异太大,循环可能会消耗一些额外的时间。如果文本框中有两个日期,即textBox1和textBox2
DateTime date1= new DateTime();
DateTime date2 = new DateTime();
double days;
bool isDate1Valid =DateTime.TryParse(textBox1.Text, out date1);
bool isDate2Valid =DateTime.TryParse(textBox2.Text, out date2);
if(isDate1Valid && isDate2Valid)
days = (date1-date2).TotalDays;
编辑
如果您需要在不循环的情况下执行此操作
如果日期差异太大,循环可能会消耗一些额外的时间。试试这个
DateTime startdate = DateTime.Parse("somedate");
DateTime enddate = DateTime.Parse("somedate");
int daycount = 0;
while (startdate < enddate)
{
startdate = startdate.AddDays(1); // Fixed
int DayNumInWeek = (int)startdate.DayOfWeek;
if (DayNumInWeek != 0)
{
if (DayNumInWeek != 6)
{ daycount += 1; }
}
}
DateTime startdate=DateTime.Parse(“somedate”);
DateTime enddate=DateTime.Parse(“somedate”);
int daycount=0;
while(开始日期<结束日期)
{
startdate=startdate.AddDays(1);//已修复
int DayNumInWeek=(int)startdate.DayOfWeek;
如果(DayNumInWeek!=0)
{
如果(DayNumInWeek!=6)
{daycount+=1;}
}
}
试试这个
DateTime startdate = DateTime.Parse("somedate");
DateTime enddate = DateTime.Parse("somedate");
int daycount = 0;
while (startdate < enddate)
{
startdate = startdate.AddDays(1); // Fixed
int DayNumInWeek = (int)startdate.DayOfWeek;
if (DayNumInWeek != 0)
{
if (DayNumInWeek != 6)
{ daycount += 1; }
}
}
DateTime startdate=DateTime.Parse(“somedate”);
DateTime enddate=DateTime.Parse(“somedate”);
int daycount=0;
while(开始日期<结束日期)
{
startdate=startdate.AddDays(1);//已修复
int DayNumInWeek=(int)startdate.DayOfWeek;
如果(DayNumInWeek!=0)
{
如果(DayNumInWeek!=6)
{daycount+=1;}
}
}
Related假日列表在哪里?是否要使用日历查找某一天是否为假日?例如,在基督教日历中,耶稣受难节可能是假日,即使不是周六或周日。Related假日列表在哪里?是否要使用日历查找某一天是否为假日?例如,在基督教日历中耶稣受难节可能是假日,即使它不是周六或周日。这不排除周末这不排除周末它应该排除假日和周末(周六和周日)。
这是个问题。TotalDays不排除它应该排除假日和周末(周六和周日).
这是个问题。TotalDays不会排除它。如果您想计算包括周末在内的所有天数,我不想使用它。只有当您不想包括周末时才应该使用它。@albertjan,是的,否则TimeSpan。TotalDays
属性足以计算两个日期之间的差。如果您想使用ccount包括周末在内的所有天数我不想使用此选项。仅当您不想包括周末时才应使用此选项。@albertjan,是,否则TimeSpan。TotalDays
属性足以计算两个日期之间的差。