Moin, ich habe zwei textboxen.
Zeit1
Zeit2
Ich möchte nun in Zeit 1 "23:00" eingeben und in Zeit2: "7:00" nun möchte ich die mir die Dauer zwischen 23:00 -> 7:00 ausrechnen und zu dem Ergebnis (in dem falle wären es 8 stunden) Zeit2 addieren und auszugeben (Endergebnis: 15:00)
Ist das möglich?
Lg,
Sebastian
Es ist möglich und die Klasse mit der du all diese phantastischen Tricks anstellen kannst heisst DateTime.
Oh ich dummkopf. Wieso bin ich nich früher draufgekommen. 1000x danke
Ich habe es mal so versucht. Bekomme jedoch nur 1 statt 8 stunden.
DateTime theDate = DateTime.Parse("23:00");
DateTime theDat2 = DateTime.Parse("7:00");
string gfh = DateTime.Compare(theDate, theDat2).ToString();
MessageBox.Show(gfh);
TimeSpan ts = dt1 - dt2;
normalerweise so
DateTime theDate1 = ...
DateTime theDate2 = ...
TimeSpan theTimeSpan = theDate2.Substract(theDate1);
Abstand in Stunden: double theHours = theTimeSpan.TotalHours;
Abstand in Minuten: double theMinutes = theTimeSpan.TotalMinutes;
...
//zu einer Zeit addieren:
DateTime theDate3 = theDate2.Add(theTimeSpan);
//usw..
Dein Problem wird hier erstmal die Angabe der DateTimes sein.. wenn du ihm, so wie in deinem Beispiel, einen Parse gibts von "23:00" und "7:00" wird er nicht viel mit anfangen können. Woher soll er wissen, ist die 7:00 vom gleichen Tag oder vom nachfolgenden Tag etc.. dementsprechend kommt beim abziehen auch nix vernünftiges raus 🙂
mit Compare liegste falsch, das berechnet keine Differenz.. steht aber auch in der Hilfe zur Methode..
greetz..
Naja, wenn man kein Datum angibt nimmt DateTime m.E. immer das aktuelle Datum, 23:00 würde also interpretiert als heute, 23:00 und 7:00 dementsprechend als heute, 7:00. Es sollte aber eine Methode geben DateTime.AddDays
DateTime theDate1 = DateTime.Parse("23:00")
DateTime theDate2 = DateTime.Parse("7:00")
theDate2=theDate2.AddDays(1)
Ansonsten so wie Mystique das schon gesagt hat...