日期:2014-05-17  浏览次数:20415 次

C#关于周转换成日期
遇到个问题,输入的日期格式为:201344 代表的含义是 2013年的第44周,
如何从这个数据得到是具体的哪一天?假设:201344=131010(表示13年10月10日)。
目前分析:201344周,就是2013年的5+42*7+1。
具体算法该如何实现?
C#关于周转换成日期

------解决方案--------------------
计算2013-1-1的DayOfWeek,假设是a,然后第n周就是调用2013-1-1的AddDays((n-1)*7+a) ~ AddDays(n*7+a)
------解决方案--------------------
当然我记得库里好像有日期递增的函数的,你直接调用就可以了。
------解决方案--------------------
上面的方法只是作为算法的参考...实际应用的话,直接用下面这种:
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();
        }
    }
}