Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将日期时间设置为23:59:59_C#_Datetime - Fatal编程技术网

C# 将日期时间设置为23:59:59

C# 将日期时间设置为23:59:59,c#,datetime,C#,Datetime,有人能解释一下为什么要这样做: public virtual ActionResult RecupererVehicules([DataSourceRequest] DataSourceRequest request, String dateMin, String dateMax) { // Création des dates DateTime min = DateTime.Parse(dateMin); DateTime

有人能解释一下为什么要这样做:

        public virtual ActionResult RecupererVehicules([DataSourceRequest] DataSourceRequest request, String dateMin, String dateMax)
    {
        // Création des dates
        DateTime min = DateTime.Parse(dateMin);
        DateTime max = DateTime.Parse(dateMax);
        max.AddHours(23).AddMinutes(59).AddSeconds(59);

        return Json(Models.Vehicule.getVehiculesDates(min,max));
    }
给我这个:

日期:2016年6月26日 日期2016-07-06 min{26/06/2016 00:00:00}
max{06/07/2016 00:00:00}您必须通过

max = max.AddHours(23).AddMinutes(59).AddSeconds(59);
而不是

max.AddHours(23).AddMinutes(59).AddSeconds(59);
否则,将计算正确的日期,但未指定

或者,您也可以通过以下方式添加此时间跨度:

.AddDays(1).AddSeconds(-1)

您必须通过以下方式分配值:

max = max.AddHours(23).AddMinutes(59).AddSeconds(59);
而不是

max.AddHours(23).AddMinutes(59).AddSeconds(59);
否则,将计算正确的日期,但未指定

或者,您也可以通过以下方式添加此时间跨度:

.AddDays(1).AddSeconds(-1)

您必须像这样将值实际分配给max变量

max = max.AddHours(23).AddMinutes(59).AddSeconds(59);

您必须像这样将值实际分配给max变量

max = max.AddHours(23).AddMinutes(59).AddSeconds(59);
DateTime是一个不可变的结构。因此,无法更改DateTime实例的值。如果在DateTime实例中添加或删除某些内容,则会得到一个新实例,并返回结果值

那你的台词呢

max.AddHours(23).AddMinutes(59).AddSeconds(59);
不会更改max,但每个Add*调用都会返回一个新的DateTime。您需要再次将结果值指定给max:

DateTime是一个不可变的结构。因此,无法更改DateTime实例的值。如果在DateTime实例中添加或删除某些内容,则会得到一个新实例,并返回结果值

那你的台词呢

max.AddHours(23).AddMinutes(59).AddSeconds(59);
不会更改max,但每个Add*调用都会返回一个新的DateTime。您需要再次将结果值指定给max:


使用DateTime.Add方法将时间添加到日期

DateTime date =  DateTime.Parse(dateMax);
TimeSpan time = new TimeSpan(36, 0, 0, 0);

使用DateTime.Add方法将时间添加到日期

DateTime date =  DateTime.Parse(dateMax);
TimeSpan time = new TimeSpan(36, 0, 0, 0);
DateTime是不可变的,因此AddHours和其他方法会创建一个新的DateTime实例,您必须重新分配该实例:

DateTime是不可变的,因此AddHours和其他方法会创建一个新的DateTime实例,您必须重新分配该实例:


其他人已经指出了如何解决这个问题,但也许你应该确切地知道发生了什么,并对术语有一个概念

DateTime类型是不可变的。这意味着一旦将DateTime变量初始化为值,就不能再对其进行更改

DateTime上的所有方法,如AddDays、AddHours等。。返回新的日期时间

这是Microsoft源中Add方法的实际实现:

正如其他人指出的,您需要将操作的返回值分配给同一个变量max或另一个变量:

max = max.Date.AddHours(23).AddMinutes(59).AddSeconds(59);

如果发送的日期未设置为午夜,您最好先使用max.Date。

其他人已经指出了如何解决此问题,但也许您应该确切地知道发生了什么,并了解术语

DateTime类型是不可变的。这意味着一旦将DateTime变量初始化为值,就不能再对其进行更改

DateTime上的所有方法,如AddDays、AddHours等。。返回新的日期时间

这是Microsoft源中Add方法的实际实现:

正如其他人指出的,您需要将操作的返回值分配给同一个变量max或另一个变量:

max = max.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
如果发送日期未设置为午夜,则最好先使用最大日期