有日期时间变量:我如何设置日期时间变量的只有部分时间在C#
DateTime date = DateTime.Now;
我想换一个DateTime变量的部分时间。但是当我试图访问时间部分(hh:mm:ss)时,这些字段是只读的。
我不能设置这些属性?
有日期时间变量:我如何设置日期时间变量的只有部分时间在C#
DateTime date = DateTime.Now;
我想换一个DateTime变量的部分时间。但是当我试图访问时间部分(hh:mm:ss)时,这些字段是只读的。
我不能设置这些属性?
使用,可以让你指定的年,月,日,时,分,秒的构造:
var dateNow = DateTime.Now;
var date = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 4, 5, 6);
date = new DateTime(date.year, date.month, date.day, HH, MM, SS);
这是不可能的,因为日期时间是不可改变的。同样的讨论,请访问:How to change time in datetime?
你不能改变的DateTime对象,这是不可改变的。但是,您可以将其设置为一个新的值,例如:
var newDate = oldDate.Date + new TimeSpan(11, 30, 55);
我不知道你想要什么可以做,但 您可以设定日期/时间,你想在什么许多方式...
您可以通过使用
DateTime myDate = Convert.ToDateTime("2010-12-25 16:58:00");
或者如果你有一个现有的datetime结构,比方说2010年12月25日(和任何随机指定2010年12月25日下午4点58分时间),并且您想将其设置为12/25/2010 4:58 PM,您可以这样做:
DateTime myDate = ExistingTime.Date.AddHours(16).AddMinutes(58);
ExistingTime.Date
将在午夜12/25,并且您只需添加小时和分钟即可获得您想要的时间。
这种方法很容易导致对“System.ArgumentOutOfRangeException:年,月和日参数描述一个未表示的日期时间”的时候,天原年存在但不是在更新之一。最简单的情况是闰年。 我建议是这样的: ` VAR NEWYEAR = 2017年; var oldDate = new DateTime(2016,2,29); var newDate = oldDate.AddYears(newYear - oldD.Year); ` 通知newDate不会是2017年2月29日,它不存在,但2017年2月28日来代替。 – Yosoyadri 2017-01-01 20:24:31