我如何才能改变我的DateTime变量“s”的时间?

DateTime s = some datetime;

当前回答

DateTime出了什么问题。AddSeconds方法,您可以添加或减去秒?

其他回答

一个衬套

var date = DateTime.Now.Date.Add(new TimeSpan(4, 30, 0));

将带回今天的日期,时间为4:30:00,取代DateTime。现在对于任何date对象

s = s.Date.AddHours(x).AddMinutes(y).AddSeconds(z);

这样你就可以保留你的日期,同时根据你的喜好插入新的时、分、秒部分。

如果已经将时间存储在另一个DateTime对象中,则可以使用Add方法。

DateTime dateToUse = DateTime.Now();
DateTime timeToUse = new DateTime(2012, 2, 4, 10, 15, 30); //10:15:30 AM

DateTime dateWithRightTime = dateToUse.Date.Add(timeToUse.TimeOfDay);

TimeOfDay属性是一个TimeSpan对象,可以传递给Add方法。因为我们使用了dateToUse变量的Date属性,所以我们只得到日期并添加时间跨度。

试试这个

var NewDate = Convert.ToDateTime(DateTime.Now.ToString("dd/MMM/yyyy")+" "+"10:15 PM")/*Add your time here*/;

DateTime是不可变类型,因此不能更改它。

但是,您可以基于之前的实例创建一个新的DateTime实例。在您的示例中,似乎需要Date属性,然后可以添加一个表示一天中的时间的TimeSpan。

就像这样:

var newDt = s.Date + TimeSpan.FromHours(2);