我有一个DateTime变量:
DateTime date = DateTime.Now;
我想更改DateTime变量的时间部分。但是当我试图访问时间部分(hh:mm:ss)时,这些字段是只读的。
我不能设置这些属性吗?
答案 0 :(得分:125)
使用允许您指定年,月,日,小时,分钟和秒的构造函数:
var dateNow = DateTime.Now;
var date = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 4, 5, 6);
答案 1 :(得分:21)
你不能改变DateTime对象,它是不可变的。但是,您可以将其设置为新值,例如:
var newDate = oldDate.Date + new TimeSpan(11, 30, 55);
答案 2 :(得分:15)
date = new DateTime(date.year, date.month, date.day, HH, MM, SS);
答案 3 :(得分:13)
我不确定你到底想做什么但是 你可以通过多种方式将日期/时间设置为你想要的......
您可以使用
指定12/25/2010 4:58 PMDateTime myDate = Convert.ToDateTime("2010-12-25 16:58:00");
如果你有一个现有的日期时间构造,比如12/25/2010(以及任何随机时间),并且你想将它设置为12/25/2010 4:58 PM,你可以这样做:
DateTime myDate = ExistingTime.Date.AddHours(16).AddMinutes(58);
ExistingTime.Date
将在午夜12/25,您只需添加小时和分钟即可获得所需时间。
答案 4 :(得分:3)
由于DateTime是不可变的,所以不可能。这里有相同的讨论:How to change time in datetime?