51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> app >> 文章正文

只用普通数学公式日期运算

更新时间:2012-1-8:  来源:51代码网
static void Main(string[] args)
{
    DateTime p0 = DateTime.Today;
    Func<int, DateTime> p = m => p0.AddDays((m - 1) * 28 + (m + 1) / 3 * 7);

    while (true)
    {
        Console.Write("输入日期:");
        string s = Console.ReadLine();
        try
        {
            DateTime d = Convert.ToDateTime(s);
            p0 = new DateTime(d.Year, 3, 1);
            p0 = p0.AddDays((12 - (int)p0.DayOfWeek) % 7);
            p0 = d >= p0 ? p0 : p0.AddDays(-52 * 7);
        }
        catch (Exception)
        {
            Console.WriteLine("** 输入错误 **");
            continue;
        }

        for (int m = 1; m <= 12; m++)
        {
            string fmt = "P{0}, {1:yyyy-MM-dd}, {2:yyyy-MM-dd}";
            Console.WriteLine(string.Format(fmt, m, p(m), p(m + 1).AddDays(-1)));
        }
    }
}

上一页  [1] [2] 

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |