上面的方法只是作为算法的参考...实际应用的话,直接用下面这种: int n = ( 44 - 1) * 7 + 1; DateTime dt = Convert.ToDateTime("2013-1-1"); dt=dt.AddDays(n);
using System;namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var result = new DateTime(2013, 1, 1).AddDays(7 * 43); Console.WriteLine("2013年第44周是{0}~{1}", result.ToString("yyMMdd"), result.AddDays(6).ToString("yyMMdd")); Console.ReadKey(); } } }
把累加天数拆成每次只增加一天,然后你只要实现今天加一天会是什么日期,只要判断什么时候月递增,年递增就OK了,记得判断下闰年的情况(2月份)。然后for循环调用这个方法,n--一直到0就OK了。
int n = ( 44 - 1) * 7 + 1;
DateTime dt = Convert.ToDateTime("2013-1-1");
dt=dt.AddDays(n);
{ class Program
{
static void Main(string[] args)
{
var result = new DateTime(2013, 1, 1).AddDays(7 * 43);
Console.WriteLine("2013年第44周是{0}~{1}", result.ToString("yyMMdd"), result.AddDays(6).ToString("yyMMdd"));
Console.ReadKey();
}
}
}