Wie erhalte ich den Zeitunterschied zwischen zwei DateTime
Objekten mit C#?Wie erhalte ich den Zeitunterschied zwischen zwei DateTime-Objekten mit C#?
Antwort
Das folgende Beispiel zeigt, wie dies zu tun:
DateTime a = new DateTime(2010, 05, 12, 13, 15, 00);
DateTime b = new DateTime(2010, 05, 12, 13, 45, 00);
Console.WriteLine(b.Subtract(a).TotalMinutes);
Wenn diesen Druck ausgeführt „30“, da es eine ist 30 Minuten Differenz zwischen dem Datum/Zeit.
Das Ergebnis von DateTime.Subtract(DateTime x)
ist ein TimeSpan Object, das andere nützliche Eigenschaften gibt.
Sie wollen die TimeSpan
Struktur:
TimeSpan diff = dateTime1 - dateTime2;
Ein Timespan-Objekt repräsentiert ein Zeitintervall (Dauer der Zeit oder der verstrichenen Zeit), die als eine positive oder negative Zahl der Tage, Stunden gemessen Minuten, Sekunden und Sekundenbruchteile. Die TimeSpan-Struktur kann auch zur Darstellung der Uhrzeit verwendet werden, jedoch nur dann, wenn die Zeit nicht mit einem bestimmten Datum verknüpft ist.
Es gibt verschiedene Methoden, um die Tage, Stunden, Minuten, Sekunden und Millisekunden von dieser Struktur zurückzuholen.
Wenn Sie sind nur daran interessiert, die Differenz dann:
TimeSpan diff = Math.Abs(dateTime1 - dateTime2);
geben Ihnen die positive Differenz zwischen den Zeiten unabhängig von der Reihenfolge.
Wenn Sie nur die Zeitkomponente erhalten haben, aber die Zeiten von Mitternacht aufgeteilt werden könnte, dann müssen Sie 24 Stunden die Spanne hinzufügen, um die tatsächliche Differenz zu erhalten:
TimeSpan diff = dateTime1 - dateTime2;
if (diff < 0)
{
diff = diff + TimeSpan.FromDays(1);
}
Hallo, wenn datetime2 09:00 Uhr und 18.00 Uhr ist dateTime1 dann diff ist 09Hours 00 min. Was ist dann die Gleichung für datetime2 ist 21:00 und dateTime1 ist 03:00 dann ist die Differenz negativ und falsch. Wie löst man das? – Vijayaraghavan
@Pranesh - Wenn die Objekte ein Datum enthalten, sollte es kein Problem geben. Wenn sie keine Zeit enthalten, dann nehmen Sie entweder die absolute Differenz oder fügen Sie 24 Stunden zu der Zeitspanne hinzu, um eine positive Differenz zu erhalten. Was richtig ist, hängt von Ihrer Anwendung ab. – ChrisF
Ja, ich habe diese Kommentare bereits entfernt! Kannst du mir ein Codebeispiel für deine Erklärung zeigen? – Vijayaraghavan
Sie benötigen einen TimeSpan zu verwenden. Hier ist ein Beispielcode:
TimeSpan sincelast = TimeSpan.FromTicks(DateTime.Now.Ticks - LastUpdate.Ticks);
Oder nur 'TimeSpan sinestast = DateTime.Now - LastUpdate;' –
Die Art, wie ich es normalerweise mache, ist das Subtrahieren der beiden DateTime und das bringt mir eine TimeSpan, die mir das Diff sagen wird.
Hier ist ein Beispiel:
DateTime start = DateTime.Now;
// Do some work
TimeSpan timeDiff = DateTime.Now - start;
timeDiff.TotalMilliseconds;
wenn sie beide UTC-Datum-Zeitwerte sind Sie tun können, TimeSpan diff = dateTime1 - dateTime2;
Ansonsten Ihre Chance, in jedem einzelnen Fall möglich, die richtige Antwort zu bekommen Null ist.
private void button1_Click(object sender, EventArgs e)
{
TimeSpan timespan;
timespan = dateTimePicker2.Value - dateTimePicker1.Value;
int timeDifference = timespan.Days;
MessageBox.Show(timeDifference.ToString());
}
Sie können folgendermaßen verwenden, um den Unterschied zwischen zwei Datetime-Objekten zu erzielen. Angenommen, es gibt DateTime-Objekte dt1 und dt2 und dann den Code.
TimeSpan diff = dt2.Subtract(dt1);
var startDate = new DateTime(2007, 3, 24);
var endDate = new DateTime(2009, 6, 26);
var dateDiff = endDate.Subtract(startDate);
var date = string.Format("{0} years {1} months {2} days", (int)dateDiff.TotalDays/365,
(int)(dateDiff.TotalDays % 365)/30, (int)(dateDiff.TotalDays % 365)/30);
Console.WriteLine(date);
- 1. Überprüfen Sie den Zeitunterschied zwischen zwei Zeiten?
- 2. Berechnen Zeitunterschied zwischen zwei EditText
- 3. Wie erhalte ich den Unterschied zwischen zwei Daten in JavaScript?
- 4. Wie erhalte ich den Unterschied zwischen zwei QDateTimes in Millisekunden?
- 5. Berechnen Zeitunterschied zwischen zwei mal Javascript
- 6. Zeitunterschied zwischen zwei Zeiten in Javascript
- 7. Wie finde ich den Zeitunterschied zwischen zwei Ereignissen mit dem Google Kalender api python
- 8. Erhalten Sie Zeitunterschied zwischen zwei verschiedenen Daten mit Zeitstempel?
- 9. MySQL Wie kann ich den Zeitunterschied zwischen zwei Protokolleinträgen über einen Satz auswählen?
- 10. Wie bekomme ich den Zeitunterschied in Millisekunden
- 11. Wie erhalte ich den Monatsnamen in C#?
- 12. Wie finde ich den Unterschied zwischen zwei Zeiten in c?
- 13. Zeitunterschied zwischen zwei bestimmten Zeitzonen im iPhone erhalten?
- 14. Wie den Text zwischen zwei HTML-Markup mit C# abrufen?
- 15. Erhalte Daten zwischen zwei und drei Trennzeichen
- 16. Erhalte Datensätze zwischen zwei Punktwerten in Mysql
- 17. Wie suche ich zwischen zwei Daten mit C#
- 18. Wie extrahiere ich den Inhalt zwischen zwei Klammern mit grep?
- 19. Wie finde ich den Unterschied zwischen zwei Daten mit Javascript
- 20. So erhalten Sie den Zeitunterschied (in Stunden) zwischen 2 Daten
- 21. Javascript: So erhalten Sie den Zeitunterschied zwischen window.requestAnimationFrame
- 22. Wie bekomme ich den Unterschied zwischen zwei R benannten Listen?
- 23. Wie finde ich den Unterschied zwischen zwei Listen von Wörterbüchern?
- 24. Wie finde ich den Teilstring zwischen zwei Strings?
- 25. NLP Wie den Unterschied zwischen zwei Dokumenten
- 26. Wie bekomme ich den Unterschied zwischen zwei DataTables?
- 27. Wie finde ich den Unterschied zwischen zwei Saiten?
- 28. Berechnen Zeitunterschied in Excel
- 29. Wie erhalte ich den Methodennamen zur Kompilierzeit?
- 30. Wie erhalte ich den lokalen Computernamen in C#?
Um den Unterschied anzuzeigen, gehen Sie folgendermaßen vor: 'Console.WriteLine ((a - b) .ToString (@" hh \: mm \: ss ")) '. Siehe: [MSDN Custom TimeSpan Format] (http://msdn.microsoft.com/en-us/library/ee372287 (v = vs.100) .aspx) – ishmael