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

DateTime s = some datetime;

当前回答

事实上,时间一旦创建就不能更改。 但是你可以用很多构造函数轻松创建它: 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出了什么问题。AddSeconds方法,您可以添加或减去秒?

将. date添加到日期中将其设置为午夜(00:00)。

MyDate.Date

注意,等价的SQL是CONVERT(DATETIME, CONVERT(DATE, @MyDate))

这个方法之所以这么好,是因为它既快速输入,又易于阅读。额外的好处是不需要从字符串进行转换。

例如,要将今天的日期设置为23:30,使用:

DateTime.Now.Date.AddHours(23).AddMinutes(30)

当然,您可以替换DateTime。现在或MyDate,你可以选择任何日期。

 Using an extencion to DateTime:  

        public enum eTimeFragment
        {
            hours,
            minutes,
            seconds,
            milliseconds
        }
        public static DateTime ClearTimeFrom(this DateTime dateToClear, eTimeFragment etf)
        {
            DateTime dtRet = dateToClear;
            switch (etf)
            {
                case eTimeFragment.hours:
                    dtRet = dateToClear.Date;
                    break;
                case eTimeFragment.minutes:
                    dtRet = dateToClear.AddMinutes(dateToClear.Minute * -1);
                    dtRet = dtRet.ClearTimeFrom(eTimeFragment.seconds);
                    break;
                case eTimeFragment.seconds:
                    dtRet = dateToClear.AddSeconds(dateToClear.Second * -1);
                    dtRet = dtRet.ClearTimeFrom(eTimeFragment.milliseconds);
                    break;
                case eTimeFragment.milliseconds:
                    dtRet = dateToClear.AddMilliseconds(dateToClear.Millisecond * -1);
                    break;
            }
            return dtRet;

        }

像这样使用:

游戏机。WriteLine (DateTime。Now ClearTimeFrom (eTimeFragment时间)。

这个必须返回: 2016-06-06 00:00:00.000

使用日期。添加并添加带有您想添加的新时间的New TimeSpan

DateTime dt = DateTime.Now
dt.Date.Add(new TimeSpan(12,15,00))
s = s.Date.AddHours(x).AddMinutes(y).AddSeconds(z);

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