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

DateTime s = some datetime;

当前回答

设定一天的结束:

date = new DateTime(date.Year, date.Month, date.Day, 23, 59, 59);

其他回答

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

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

就像这样:

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

最好的解决方案是:

currdate.AddMilliseconds(currdate.Millisecond * -1).AddSeconds(currdate.Second * -1).AddMinutes(currdate.Minute * -1).AddHours(currdate.Hour * -1);

这难道不能解决你的问题吗?

Dateime dt = DateTime.Now;
dt = dt.AddSeconds(10);

我更喜欢这个:

DateTime s = //get some datetime;
s = new DateTime(s.Year, s.Month,s.Day,s.Hour,s.Minute,0);
DateTime ts = DateTime.Now;
ts = new DateTime ( ts.Year, ts.Month, ts.Day, 0, 0, 0 ) ;
Console.WriteLine ( "Today = " + ts.ToString("M/dd/yy HH:mm:ss") ) ;

执行: 今天= 9/04/15 00:00:00