我在代码中使用了许多DateTime。我想将那些DateTimes更改为我的特定日期并保留
时间。

1. "2012/02/02 06:00:00" => "2015/12/12 : 06:00:00"
2. "2013/02/02 12:00:00" => "2015/12/12 : 12:00:00"

我使用这种样式进行更改,但这似乎不是一个好方法,我想问一下有什么方法可以完成此任务。
DateTime newDateTime = new DateTime(2015,12,12,oldDateTime.Hour,oldDateTime.Minute,0);

最佳答案

根据您提供的信息,我认为此方法很好。如果要避免经常重写oldDateTime.Hour,oldDateTime.Minute,0片段,则可以创建自己的静态类以简化方法调用。

在您的常规应用程序中:

class Program
{
    static void Main(string[] args)
    {
        DateTime time = DateTime.Now;
        DateTime newDateTime = MyDateTimeUtil.CreateDateFromTime(2015, 12, 12, time);
    }
}

创建DateTime值的静态类:
public static class MyDateTimeUtil
{
    public static DateTime CreateDateFromTime(int year, int month, int day, DateTime time)
    {
        return new DateTime(year, month, day, time.Hour, time.Minute, 0);
    }
}

关于c# - 如何仅更改DateTime的日期部分,同时保留时间部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26707526/

10-17 02:21