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

DateTime s = some datetime;

当前回答

最简单的解决方案:

DateTime s = //some Datetime that you want to change time for 8:36:44 ;
s = new DateTime(s.Year, s.Month, s.Day, 8, 36, 44);

如果您需要特定的日期和时间格式:

s = new DateTime(s.Year, s.Month, s.Day, 8, 36, 44).ToString("yyyy-MM-dd h:mm:ss");

其他回答

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

Dateime dt = DateTime.Now;
dt = dt.AddSeconds(10);
  DateTime s;
//s = datevalue
                s = s.AddMilliseconds(10);
                s = s.AddMinutes(10);
                s = s.AddSeconds(10);
                s = s.AddHours(10);

您可以在参数中添加+ve/-ve值。

s.Add(new TimeSpan(1, 1, 1));

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

事实上,时间一旦创建就不能更改。 但是你可以用很多构造函数轻松创建它: https://learn.microsoft.com/en-us/dotnet/api/system.datetime.-ctor?view=netframework-4.7.2

例如,如果你想创建一个DateTime变化的秒,你可以这样做:

DateTime now = DateTime.Now;
DateTime secondschanged = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, yourseconds);

如果已经将时间存储在另一个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属性,所以我们只得到日期并添加时间跨度。