c# zalatwienie sprawy z godzinami

0

Witam, stanąłem w pewnym punkcie tworzenia programu, gdzie mam dwa textboxy, w które wpisuję godzinę rozpoczęcia i zakończenia w formacie godzina.minuta(y) (np. 17.15, 11.10 etc). Problem polega na tym, że nie wiem jak mam to zamienić na minuty, aby później obliczyć długość między tymi godzinami, próbowałem wymyślić algorytm na to, ale wierzę, że jest jakaś inna metoda, która mi to ułatwi. Czy ktoś orientuje się, jak mógłbym to wykonać?

Pozdrawiam i z góry dzięki za odpowirdź.

1

Możesz bawić się się w przeliczanie i przekształcanie zmiennych DateTime ale generalnie jeśli chcesz mierzyć upływ czasu od czegoś do czegoś, zainteresuj się lepiej klasą

Sytem.Diagnostics.StopWatch

Mierzy dokładnie i łatwo potem przekształcić na format hh:mm:ss.

3

trzymaj te dwie daty jako DateTime. Pod Textbox.Text podepnij dateTime.ToString("hh:mm").
oblicznie minut: firstDate.Substract(secondDate).TotalSeconds / 60

3
herblack napisał(a):

Problem polega na tym, że nie wiem jak mam to zamienić na minuty, aby później obliczyć długość między tymi godzinami, próbowałem wymyślić algorytm (...)

Poza wszystkimi sztuczkami z gotowymi funkcjami, sposób przeliczenia na minuty jest bardzo bardzo prosty: godzina * 60 + minuty

2
dam1en napisał(a):

Pod Textbox.Text podepnij dateTime.ToString("hh:mm").
Raczej DateTime.ParseExact:

/* tak konwertujemy tekst na datę */
DateTime startDate = DateTime.ParseExact(textBoxStart.Text, "HH.mm", System.Globalization.CultureInfo.InvariantCulture);
DateTime stopDate = DateTime.ParseExact(textBoxStop.Text, "HH.mm", System.Globalization.CultureInfo.InvariantCulture);
/* tak obliczamy różnicę czasów */
TimeSpan span = stopDate - startDate;
/* tak zamieniamy na minuty wspomnianym TotalMinutes */
double minuteSpan = span.TotalMinutes;

Dodam jeszcze, że nie powinieneś się koncentrować na tym czy różnica ma być w minutach czy czymś innym - do jej reprezentowania użyj po prostu TimeSpan.

0

Dzięki Panowie za pomoc. Najbardziej przydał mi się sposób użytkownika adf88, który wykorzystałem. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1