Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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# 查找表中日期和午夜之间的差异(ASP.NET MVC)_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 查找表中日期和午夜之间的差异(ASP.NET MVC)

C# 查找表中日期和午夜之间的差异(ASP.NET MVC),c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有一张数据表 这是模型 public partial class Logging { public string Imei { get; set; } public Nullable<System.DateTime> CurDateTime { get; set; } public Nullable<System.DateTime> GPSDateTime2 { get; set; } public Nullable<decimal

我有一张数据表

这是模型

public partial class Logging
{
    public string Imei { get; set; }
    public Nullable<System.DateTime> CurDateTime { get; set; }
    public Nullable<System.DateTime> GPSDateTime2 { get; set; }
    public Nullable<decimal> Latitude2 { get; set; }
    public Nullable<decimal> Longitude2 { get; set; }
    public string Speed { get; set; }
    public Nullable<int> Datatype { get; set; }
    public int Id { get; set; }
    [NotMapped]
    public TimeSpan? FirstStartDifference { get { return CurDateTime - DateTime.Today; } }
    [NotMapped]
    public int coeff = 2;
}

如何正确计算差值

使用

TimeSpan duration = DateTime.Parse(endTime).Subtract(DateTime.Parse(startTime));

你可以通过使用

TimeSpan duration = DateTime.Parse(endTime).Subtract(DateTime.Parse(startTime));

您可以使用Hour、Minute和Second属性,并根据这些值构造新的DateTime,这将是您所需的差异。或者,您可以创建一个0小时、0分钟和0秒的新日期时间,并进行减法运算


您可以获取属性Hour、Minute和Second,并根据这些值构造新的日期时间,这将是您需要的差异。或者,您可以创建一个0小时、0分钟和0秒的新日期时间,并进行减法运算


您可以按照自己的意愿或其他答案所述进行计算,但在计算结果时使用
.Duration()
。 该方法将返回绝对结果,而不是负结果

四行代码:

public TimeSpan? FirstStartDifference 
{
    get 
    {
        if (!CurDateTime.HasValue)
        {
            return null
        }

        return (CurDateTime - DateTime.Today).Duration(); 
    } 
}
如果只想从
DateTime
对象中获取日期值,只需使用
date
属性,而不是创建一个新属性

e、 g


您可以根据自己的需要或其他答案进行计算,但在计算结果时使用
.Duration()
。 该方法将返回绝对结果,而不是负结果

四行代码:

public TimeSpan? FirstStartDifference 
{
    get 
    {
        if (!CurDateTime.HasValue)
        {
            return null
        }

        return (CurDateTime - DateTime.Today).Duration(); 
    } 
}
如果只想从
DateTime
对象中获取日期值,只需使用
date
属性,而不是创建一个新属性

e、 g


因此,您将从DateTime中减去CurDateTime,即2017年10月18日上午8:05:38。今天是今天的00:00。 这当然会以负值结束,因为CurDateTime比今天的日期小

你需要从CurDateTime的午夜datetime中减去它。 像这样:

var midnight = new DateTime(CurDateTime.Year, CurDateTime.Month, CurDateTime.Day, 00, 00, 00);
var difference = CurDateTime - midnight;
var inMin = difference.TotalMinutes;
就你而言:

 [NotMapped]
 public TimeSpan? FirstStartDifference
 {
    get
    {
      if(CurDateTime != null)
      {
        var midnight = new DateTime(CurDateTime.Year, CurDateTime.Month, CurDateTime.Day, 00, 00, 00);
        var difference = CurDateTime - midnight
        return difference;
      }
      return null;
    }
 }

因此,您将从DateTime中减去CurDateTime,即2017年10月18日上午8:05:38。今天是今天的00:00。 这当然会以负值结束,因为CurDateTime比今天的日期小

你需要从CurDateTime的午夜datetime中减去它。 像这样:

var midnight = new DateTime(CurDateTime.Year, CurDateTime.Month, CurDateTime.Day, 00, 00, 00);
var difference = CurDateTime - midnight;
var inMin = difference.TotalMinutes;
就你而言:

 [NotMapped]
 public TimeSpan? FirstStartDifference
 {
    get
    {
      if(CurDateTime != null)
      {
        var midnight = new DateTime(CurDateTime.Year, CurDateTime.Month, CurDateTime.Day, 00, 00, 00);
        var difference = CurDateTime - midnight
        return difference;
      }
      return null;
    }
 }

午夜是哪一个属性?现在是宵禁时间吗?此外,您需要两个日期之间的数据,为什么要计算:FirstStartDifference?已更新question@alaa_sayeghmidnight,我的意思是00:00@alaa_sayeghtime从午夜到午夜,从midnight@BugFinderWhich午夜是几点?现在是宵禁时间吗?此外,您需要两个日期之间的数据,为什么要计算:FirstStartDifference?已更新question@alaa_sayeghmidnight,我的意思是00:00@alaa_sayeghtime从午夜到午夜,从midnight@BugFinderHm. 我在这部分有错误
CurDateTime.Year,CurDateTime.Month,CurDateTime.Day
。“DateTime”不包含“Year”的定义,并且找不到接受“DateTime”类型的第一个参数的扩展方法“Year”(是否缺少using指令或程序集引用?)是,因为CurDateTime为null。。。让我们检查可为空的值。如果为空,则无法计算…@S.E,请检查!嗯。这部分我有错误
CurDateTime.Year,CurDateTime.Month,CurDateTime.Day
。“DateTime”不包含“Year”的定义,并且找不到接受“DateTime”类型的第一个参数的扩展方法“Year”(是否缺少using指令或程序集引用?)是,因为CurDateTime为null。。。让我们检查可为空的值。如果为空,则无法计算…@S.E,请检查!