Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249

Вычисление времени (часы и минуты)

17.05.2014, 16:33. Показов 2726. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане!

Подскажите пожалуйста процедуру вычисления времени.
У меня на форме два maskedTextBox с заданным форматом - DateTime (23:20) и один TextBox.
В одном (BLOCK_OUT_maskedTextBox) задаю начальное время, в другом (BLOCK_IN_maskedTextBox) конечное.
Теперь в текстбоксе (BLOCK_TIME_textBox) нужно вывести разницу, т.е. время между началом и концом и в формате часы и минуты.

Все что смог. Но получается ерунда.
C#
1
2
3
4
5
6
7
 DateTime dt1 = DateTime.Parse(Convert.ToDateTime(BLOCK_IN_maskedTextBox.Text).ToString("hh:mm"));
            DateTime dt2 = DateTime.Parse(Convert.ToDateTime(BLOCK_OUT_maskedTextBox.Text).ToString("hh:mm"));
            TimeSpan ts = dt2.Subtract(dt1);
            int Minutes = ts.Minutes;
            int Hours = ts.Hours;
            DateTime total = new DateTime(2014,05,15, Hours, Minutes, 0);
            BLOCK_TIME_textBox.Text = total.ToShortTimeString();
Думаю что есть более простой вариант, но к сожалению сам не в силах. Да и по гуглу не так много инфы на этот счет.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.05.2014, 16:33
Ответы с готовыми решениями:

Выбор времени в NumericUpDown в формате Часы:Минуты:Секунды
Можно ли с помощью NumericUpDown сделать выбор по принципу Часы:Минуты:Секунды?

Вывод текущего времени часы минуты и секунды в label1. Что я не верно пишу не выводит?
private void label1_Click(object sender, EventArgs e) { label1.Text = DateTime.Now.ToString("HH.mm.ss"); ...

Сложить часы, минуты
Доброго времени суток, помогите с кодом, есть 3 maskedTextBox, в первом указывается произвольное время часы и минуты и во втором тоже...

4
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
17.05.2014, 17:55
Цитата Сообщение от ac1-caesar Посмотреть сообщение
DateTime dt2 = DateTime.Parse(Convert.ToDateTime(BLOCK_ OUT_maskedTextBox.Text).ToString("hh:mm" ));
отэтоДА...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            try
            {
                DateTime dt1, dt2;
                if(!DateTime.TryParse(BLOCK_OUT_maskedTextBox.Text,out dt1)||
                    !DateTime.TryParse(BLOCK_IN_maskedTextBox.Text, out dt2))
                    throw new ArgumentException("Неверный формат даты");
 
                textBox1.Text = (dt2 - dt1).ToString();
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show(ex.Message);
            }
1
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249
17.05.2014, 19:47  [ТС]
Тонкость еще в следующем: если начальное время 23:45, а конечное 01:45' то должно быть 02:00. А в Вашем варианте получится минусовое значение. Как обойти это? Я пытался использовать TimeSpan.
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
17.05.2014, 20:21
ac1-caesar, замени на это тогда
C#
1
textBox1.Text = (dt1>dt2 ? dt1 - dt2: dt2-dt1).ToString();
1
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249
18.05.2014, 13:55  [ТС]
Metall_Version, думаю не так
C#
1
textBox1.Text = (dt1>dt2 ? dt1 - dt2: dt2-dt1).ToString();
, а как то если dt1>dt2, то нужно просто прибавить 24 часа к dt1. Ну что то типа
C#
1
BLOCK_TIME_textBox.Text = (dt1 > dt2 ? dt1 - dt2 : (dt1.AddHours(24) - dt2).ToString();
. Но что то так не получается, как верно прибавить 24 часа?

Добавлено через 19 минут
Сделал так, вроде работает.
C#
1
2
 dt3 = dt2.AddHours(24);
                BLOCK_TIME_textBox.Text = (dt1 > dt2 ? dt3 - dt1 : dt2 - dt1).ToString();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.05.2014, 13:55
Помогаю со студенческими работами здесь

Минуты, часы из datetime в (int)е
собственно хочу сделать стрелочные часы.Нужно извлечь секунды, мин., часы в целых . Пришло в голову только преобразовать в строку, что то...

Программа, которая переводит часы и минуты в минуты или минуты – в часы и минуты
Составьте программу, которая в зависимости от входных данных переводит часы и минуты в минуты или минуты – в часы и ...

Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы
Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) до того момента когда часовая и минутная стелка...

Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы
Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) до того момента когда часовая и минутная стелка...

Преобразовать введенное значение в часы и минуты и выводит на экран в виде “часы: минуты”
Здравствуйте, помогите пожалуйста с написанием программы. Написать программу, которая запрашивает у пользователя значение времени в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru