如何只更改DateTime变量“s”中的时间?
DateTime s = some datetime;
#1楼
一个班轮
var date = DateTime.Now.Date.Add(new TimeSpan(4, 30, 0));
将以4:30:00的时间带回今天的日期,将DateTime.Now替换为任何日期对象
#2楼
如果已将时间存储在另一个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属性,我们只得到日期并添加时间跨度。
#3楼
int year = 2012;
int month = 12;
int day = 24;
int hour = 0;
int min = 0;
int second = 23;
DateTime dt = new DateTime(year, month, day, hour, min, second);
#4楼
最好的解决方案是:
currdate.AddMilliseconds(currdate.Millisecond * -1).AddSeconds(currdate.Second * -1).AddMinutes(currdate.Minute * -1).AddHours(currdate.Hour * -1);
#5楼
我更喜欢这个:
DateTime s = //get some datetime;
s = new DateTime(s.Year, s.Month,s.Day,s.Hour,s.Minute,0);
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3208152
