Ich rufe zwei Datums- und Uhrzeitwerte aus der Datenbank ab. Sobald der Wert abgerufen wurde, benötige ich die Differenz zwischen den beiden Werten. Dazu erstelle ich eine Zeitspannenvariable, um die Differenz der beiden Datumswerte zu speichern.
TimeSpan? variable = datevalue1 - datevalue2;
Jetzt muss ich die Differenz, die in der Timespan-Variablen gespeichert ist, in Bezug auf die Anzahl der Stunden anzeigen. Ich habe auf TimeSpan.TotalHours verwiesen , konnte es aber aus irgendeinem Grund nicht anwenden. Wie mache ich das? Ich verwende C # in einem MVC-Projekt. Muss ich einfach den Differenzwert in Stunden anzeigen?
BEARBEITEN: Da die Zeitspanne nullbar war, konnte ich die Eigenschaft "Gesamtstunden" nicht verwenden. Jetzt kann ich es mit TimeSpanVal.Value.TotalHours verwenden .
c#
asp.net-mvc-2
datetime
timespan
Reggie
quelle
quelle
TimeSpan.TotalHours
?.Value.TotalHours
Antworten:
Ich denke, Sie sind verwirrt, weil Sie nicht deklariert haben, dass Sie eine deklariert
TimeSpan
haben,TimeSpan?
die nullbar istTimeSpan
. Entfernen Sie entweder das Fragezeichen, wenn es nicht nullwertfähig sein soll, oder verwenden Sie esvariable.Value.TotalHours
.quelle
Vielleicht möchten Sie auch schauen
quelle
Im Beispiel erstellen wir zwei Datums- / Uhrzeitobjekte, eines mit der aktuellen Zeit und eines mit 75 Sekunden, die zur aktuellen Zeit hinzugefügt werden. Dann rufen wir die Methode .Subtract () für das zweite DateTime-Objekt auf. Dies gibt ein TimeSpan-Objekt zurück. Sobald wir das TimeSpan-Objekt erhalten haben, können wir die Eigenschaften von TimeSpan verwenden, um die tatsächlichen Stunden, Minuten und Sekunden abzurufen.
Ergebnis:
quelle
TotalSeconds
,TotalMinutes
etcGibt es einen Grund, den Sie verwenden
Nullable
?Wenn Sie verwenden möchten,
Nullable
können Sie schreibenvariable.Value.TotalHours
.Oder Sie können einfach schreiben :
(datevalue1 - datevalue2).TotalHours
.quelle
DateTime?
DateTime
. In .NET ,DateTime - DateTime = TimeSpan
.Nullable<DateTime>
und deshalb bekommst du eineNullable<TimeSpan>
.Hier ist ein weiteres Beispiel für das Subtrahieren von zwei Daten in C # ...
quelle
eine genauere Art und Weise für die Mitarbeiter bezahlter Stunden oder anderen Präzisionsbedarf: :
https://dotnetfiddle.net/tVIoVJ
quelle
kann auch einen Unterschied zwischen den Daten hinzufügen, wenn wir zwei verschiedene Daten vergleichen
quelle
WOW, ich muss sagen: halte es einfach:
und:
Das DateTime-Objekt verfügt über die gesamte integrierte Logik, um das boolesche Ergebnis zu verarbeiten.
quelle