当前位置:  开发笔记 > 编程语言 > 正文

如何在c#中使用DateTime获取下个月的同一时间和日期

如何解决《如何在c#中使用DateTime获取下个月的同一时间和日期》经验,为你挑选了1个好方法。

我有一个ac#DateTime对象,我需要将它增加一个月.

例:

input           output
-------------------------------
Jan 12, 2005    Feb 12, 2005
Feb 28, 2009    Mar 28, 2009
Dec 31, 2009    Jan 31, 2010
Jan 29, 2000    Feb 29, 2000
Jan 29, 2100    Error: no Feb 29, 2100

做这个的最好方式是什么.

我的第一个想法(除了一些内置的代码)是从片段构建一个新的DateTime并自己处理滚动到年份



1> Jon Skeet..:

这是一个完整的程序,显示问题中给出的示例.你可能想在OneMonthAfter中使用一个异常,如果真的不应该这样调用它.

using System;
using System.Net;

public class Test
{
    static void Main(string[] args)
    {
        Check(new DateTime(2005, 1, 12));
        Check(new DateTime(2009, 2, 28));
        Check(new DateTime(2009, 12, 31));
        Check(new DateTime(2000, 1, 29));
        Check(new DateTime(2100, 1, 29));
    }

    static void Check(DateTime date)
    {
        DateTime? next = OneMonthAfter(date);
        Console.WriteLine("{0} {1}", date,
                          next == null ? (object) "Error" : next);
    }

    static DateTime? OneMonthAfter(DateTime date)
    {
        DateTime ret = date.AddMonths(1);
        if (ret.Day != date.Day)
        {
            // Or throw an exception
            return null;
        }
        return ret;
    }
}

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有