题目:作业2:日期分隔
题目为:
任意输入一个起始日期与与终止日期,返回该日期段内
个星
期的起始与终止日期。
示例输入:起始日期2019-10-08,终止日期2019-11-1示例输出:
第1周:2019-10-08至2019-10-13
第2周:2019-10-14至2019-10-20
第3周:2019-10-21至2019-10-27
第4周:2019-10-28至2019-11-1.

代码示例:
class Program {
public static string WeekEndTime(DateTime t)
{
DateTime startWeek = t.AddDays(1 - Convert.ToInt32(t.DayOfWeek.ToString("d")));
//Console.WriteLine(startWeek);
DateTime endWeek = startWeek.AddDays(6); //本周周日
//Console.WriteLine(endWeek);
string sysweekendtime = endWeek.ToString("yyyy-MM-dd");
return sysweekendtime;
}
static void Main(string[] args)
{
//实例: 起始日期2019-10-08,终止日期2019-11-1
//仅考虑同一年
// Console.WriteLine(DateTime.Now);
Console.WriteLine("请输入起始日期(格式xxxx-xx-xx):");
string date = Console.ReadLine();
DateTime dt = Convert.ToDateTime(date);
//string result=WeekEndTime(dt);
//Console.WriteLine(result);
int year = dt.Year;
int month = dt.Month;
int day = dt.Day;
//Console.WriteLine(dt.Year);
//Console.WriteLine(dt.Month);
string week = dt.DayOfWeek.ToString();
Console.WriteLine("请输入终止日期(格式xxxx-xx-xx):");
string date1 = Console.ReadLine();
DateTime dt1 = Convert.ToDateTime(date1);
int year1 = dt1.Year;
int month1 = dt1.Month;
int day1 = dt1.Day;
string week1 = dt1.DayOfWeek.ToString();
//处理
string result;
DateTime d;//中间件、
int week_number = 1;
while (true)
{
//返回的是一个日期哎
result = WeekEndTime(dt);
d = Convert.ToDateTime(result);//转换
//比较 如果返回的日期比终止日期大那么结束循环,否则将日期继续轮训
if (DateTime.Compare(d,dt1) >=0)
{
//大于等于
Console.WriteLine("第"+week_number+"周: "+dt.Year+"-"+dt.Month + "-" +dt.Day+ "至"+ dt1.Year + "-" + dt1.Month + "-" + dt1.Day);
break;
}
if (DateTime.Compare(d, dt1)<0)
{
//Xiao于
Console.WriteLine("第" + week_number + "周: "+ dt.Year + "-" + dt.Month + "-" + dt.Day + "至" + d.Year + "-" + d.Month + "-" + d.Day);
dt = d;
}
}
}
}

运行示例:
