2016-08-23 1 views
0

enter image description here My Model istberechnen Differenz zwischen zwei Datetime-Einheiten

public class abc 
{ 
    public DateTime StartDate{get;set;} 
    public DateTime EndDate{get;set;} 
} 

I Screenshot von meinem Datenbankspalten genommen haben. Ich möchte den Unterschied der Stunden zwischen StartDate und EndDate in meiner Webanwendung anzeigen. Wie kann ich das machen. Ich benutze Entity Framework.

Antwort

3

Sie können nullable dann durch

TimeSpan diff = EndDate - StartDate; 
double hours = diff.TotalHours; 

und wenn StartDate und EndDate ist der Unterschied in Stunde berechnen

TimeSpan? diff = EndDate.Value - StartDate.Value; 
double hours = diff.TotalHours; 
+0

Ich bin nicht diese 'TotalHours' Objekttyp auf einer Instanz von Datetime zu bekommen. Welche .Net Framework-Version verwenden Sie? – RBT

+0

@RBT siehe mein Update hoffe diesmal wird es kein Problem geben – Mostafiz

+0

@Mostafiz Dies sollte in Modell oder Controller erfolgen? – Priyanshu

1

Berechnen Sie die Differenz als:

var diffHours = (endDateTime- startDateTime).TotalHours 
+0

Nice! Wenn Sie zwei DateTime-Instanzen unterscheiden, wird das Objekt "TimeSpan" mit dieser TotalHours-Eigenschaft erstellt. +1. – RBT

0

kann eine weitere Option hinzugefügt NotMapped Eigenschaft y, um es zu berechnen. Ihr Modell soll wie folgt aussehen:

public class abc 
{ 
    public DateTime StartDate { get; set; } 
    public DateTime EndDate { get; set; } 

    [NotMapped] 
    public double HourDifference 
    { 
     get 
     { 
      return (EndDate - StartDate).TotalHours; 
     } 
    } 
} 

Nach Daten aus der Datenbank bekommen können Sie HourDifference verwenden Unterschied anzuzeigen.

+0

Ich kann TotalHours nicht in Modell – Priyanshu

+0

verwenden. Was meinen Sie mit * nicht benutzen *? –

+0

Es zeigt mir rote Linie unter TotalHours – Priyanshu

0

versuchen, dieses .. es wird Ihnen differnece Tage ..

TimeSpan tSpan = (abc.EndDate.Value).Subtract(abc.StartDate.Value); 
var NoOfDays = tSpan.Days; 
Verwandte Themen