Berechnen Sie Jahre, Monate, Wochen und Tage
In meiner Anwendung ein Benutzer zwei Termine. Einen geplanten Starttermin und einen geplanten Endtermin. Wir haben diese Daten, und füllen Sie 4 Felder, basierend auf der Differenz.
Also sagen wir, er wählt den 1. Januar 2010 als start und 2. März 2011 als das Ende, wir müssen am Ende mit:
Jahre: 1
Monate: 2
Wochen: 0
Tage 1
Bedeutung der gesamten Dauer ist 1 Jahr, 2 Monate und 1 Tag.
Ist es ein standard-Weg, dies zu tun? Oder hätte ich schreiben müssen, eine Methode, die eine Menge ziemlich knifflige Logik zu arbeiten? Ich hatte gehofft, ich würde glücklich sein, und es wäre auch ein date-diff-Typ .Net-Klasse zur Verfügung.
Sie sind nicht immer die Antworten, die Sie wollen, hier also der T-SQL-version: stackoverflow.com/questions/57599/...
Dieser link ist die Antwort: stackoverflow.com/questions/1083955/...
Siehe auch: stackoverflow.com/questions/3054715/c-calculate-accurate-age/...
möglich, Duplikat der Wie man den Unterschied zwischen zwei Datumsangaben in Jahr/Monat/Woche/Tag?
Ich bin Dieses Thema auf dem Laufenden-code stackoverflow.com/questions/6260372/...
Dieser link ist die Antwort: stackoverflow.com/questions/1083955/...
Siehe auch: stackoverflow.com/questions/3054715/c-calculate-accurate-age/...
möglich, Duplikat der Wie man den Unterschied zwischen zwei Datumsangaben in Jahr/Monat/Woche/Tag?
Ich bin Dieses Thema auf dem Laufenden-code stackoverflow.com/questions/6260372/...
InformationsquelleAutor Craig | 2011-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke TimeSpan ist das, was du suchst, aber es hat nicht Jahre oder Monate, da diese in der Länge variieren.
Das folgende Beispiel ist aus dem oben genannten link;
Warum hat diese bekommen upvotes? Diese Lösung ist nicht die Antwort auf die Frage. Ich sehe nicht, Jahre, Monate, Wochen und Tage.
Ich mag die Antwort
I think TimeSpan is what you are looking for, but it doesn't do what you asked for
🙂Als Steve W. wies darauf hin stackoverflow.com/questions/1083955/... hat eine akzeptierte Antwort. Aber das beantwortet auch nicht vollständig beantworten Sie die Frage, aber zeigt die Komplexität, die in dieser Art von Berechnung. Und es hat eine Antwort auf die Frage "gibt es einen standard-Weg, dies zu tun? Oder hätte ich schreiben müssen, eine Methode, die eine Menge ziemlich knifflige Logik, um es herauszufinden?"
InformationsquelleAutor Christoph
Heres eine vollständige Methode, die Wochen sind nicht im Lieferumfang enthalten, aber Hinzugefügt werden kann, relativ einfach. Es ist eine etwas komplexe Frage (gefragt in einer Vielzahl von Möglichkeiten, auf stackoverflow und antwortete schlecht in einer Vielzahl von Möglichkeiten), aber keiner der weniger beantwortet werden können. Der TimeSpan-Objekt gibt uns, was wir brauchen, funktioniert aber nur bis über Tage. Ich habe geschrieben, eine erhebliche Anzahl von tests, die gegen diese Methode, wenn Sie ein Loch finden, posten Sie bitte einen Kommentar.
Was wird dies tun, ist, vergleichen 2 Termine, immer der Jahre, Monate, Tage, Stunden und Minuten. (z.B. einige Ereignis geschah 1 Jahr, 6 Monaten, 3 Tagen, 4 Stunden und 7 Minuten)
Weil diese Frage wurde gestellt und versucht zu beantworten, so viele Male, ich bin nicht sicher, es wird immer noch bemerkt, aber wenn das so ist sollte es Wert.
InformationsquelleAutor Chuck Rostance
Können Sie die DateDiff Klasse von diese freie Bibliothek:
InformationsquelleAutor
Untersuchen Sie die C# - TimeSpan Struktur. Es muss nicht Monate oder Jahre, aber es macht Tage. Das macht die Sache einfacher.
InformationsquelleAutor Nik
InformationsquelleAutor Shaik Raffi
Brauchte ich auch, aber in meinem Fall, ohne die Wochen Teil (also nur die Jahre, Monate und Tage). Da, hier ist was ich gemacht habe:
Wenn Sie wollen, um zu zeigen, das mehr dynamisch, Sie können auch diesen code verwenden:
InformationsquelleAutor Cristiano Santos
Ich hatte diese für die Rücksendung Unterschied im Jahre,Monat und Tage zwischen 2 Datumsangaben.
InformationsquelleAutor Namith Krishnan