Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/34: Рейтинг темы: голосов - 34, средняя оценка - 4.79
 Аватар для MACHOMAN
54 / 30 / 4
Регистрация: 15.01.2014
Сообщений: 354

Как вычислить разницу между датами

14.11.2014, 15:41. Показов 7041. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа подскажите в программе нужно узнать разницу времени между началом заезда автомобиля и его завершения . для примера время начала и время завершения хранятся в переменных в виде t1= 12:14:23 и t2= 12:14:53 как теперь получить разницу между ними?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.11.2014, 15:41
Ответы с готовыми решениями:

Как вычислить разницу в годах между двумя датами?
Задачка школьного уровня но напрочь забыл(. Осложняется еще и тем, что первоначальная дата задается пользователем в трех текстовых окнах:...

Вычислить количество дней между датами
Нужно вычислить количество дней между датами. Есть стандартные функции?

Вычислить разницу между двумя датами
Здравтсвуйте. Подскажите, как можно вычислить разницу между двумя датами в днях, а затем прописать условие: если разница >= x дней, то...

15
 Аватар для MACHOMAN
54 / 30 / 4
Регистрация: 15.01.2014
Сообщений: 354
14.11.2014, 15:48  [ТС]
Вот несколько примеров из интернета но они не работают как надо
Вложения
Тип файла: rar WindowsApplication1.rar (65.2 Кб, 12 просмотров)
0
 Аватар для Visualist
52 / 52 / 25
Регистрация: 01.02.2014
Сообщений: 201
14.11.2014, 17:45
Функция DateDiff
VB.NET
1
2
3
4
5
6
7
' The following statements set datTim1 to a Thursday
' and datTim2 to the following Tuesday.
Dim datTim1 As Date = #1/4/2001#
Dim datTim2 As Date = #1/9/2001#
' Assume Sunday is specified as first day of the week.
Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2)
Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
14.11.2014, 17:53
В нашем faq, есть ответы на все вопросы!
2
 Аватар для MACHOMAN
54 / 30 / 4
Регистрация: 15.01.2014
Сообщений: 354
15.11.2014, 13:53  [ТС]
Посмотрел все но не получается указывать Dim datTim1 As Date = #1/4/2001# и Dim datTim2 As Date = #1/9/2001# с помощью переменных постоянно ошибки. Может найдутся люди которые покажут пример чтобы в модуле хранились две даты в формате 13:34:12 и 13:36:16 а нажатием кнопки на форме отображалась разница между ними?
0
 Аватар для Visualist
52 / 52 / 25
Регистрация: 01.02.2014
Сообщений: 201
15.11.2014, 13:59
Лучший ответ Сообщение было отмечено MACHOMAN как решение

Решение

Цитата Сообщение от MACHOMAN Посмотреть сообщение
разница между ними?
VB.NET
1
2
3
4
Dim a = CDate("13:34:12")
Dim b = CDate("13:36:16")
Dim c = DateDiff(DateInterval.Second, a, b)
MsgBox(c)
Добавлено через 2 минуты
так найдем, сколько секунд между временем а и временем б.
вопрос только в том, как вы получаете эти 2 даты.
1
 Аватар для MACHOMAN
54 / 30 / 4
Регистрация: 15.01.2014
Сообщений: 354
15.11.2014, 17:17  [ТС]
У меня два автомобиля начинают заезд на 402 метра в одно и тоже время а приезжают на финиш в разное мне нужно пощетать время каждого автомобиля от старта до финиша и по полученным данным сравнить кто из них победил с статистикой заезда

Добавлено через 14 минут
Ваш способ работает но выдает ответ в виде числа 124 . Можно ли сделать ответ в виде 00:02:04 ?
0
 Аватар для Visualist
52 / 52 / 25
Регистрация: 01.02.2014
Сообщений: 201
15.11.2014, 18:05
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

VB.NET
1
2
3
4
5
        Dim a = CDate("13:34:12")
        Dim b = CDate("13:36:16")
        Dim c = CStr(DateDiff(DateInterval.Second, a, b))
        c = TimeSerial(0, 0, c)
        MsgBox(c)
2
 Аватар для MACHOMAN
54 / 30 / 4
Регистрация: 15.01.2014
Сообщений: 354
15.11.2014, 20:05  [ТС]
Спасибо большое это как раз то что я искал!!

Добавлено через 33 минуты
без ошибки не обошлось: Приведение строки "" к типу "Date" является недопустимым. можно ли это исправить? t88 = t.ToLongTimeString
Миниатюры
Как вычислить разницу между датами  
0
 Аватар для Visualist
52 / 52 / 25
Регистрация: 01.02.2014
Сообщений: 201
15.11.2014, 20:27
Цитата Сообщение от MACHOMAN Посмотреть сообщение
t88
а чему равно t88 в момент возникновения ошибки? не пустой ли строке?
0
 Аватар для MACHOMAN
54 / 30 / 4
Регистрация: 15.01.2014
Сообщений: 354
15.11.2014, 23:01  [ТС]
t88 = t.ToLongTimeString и t66= t.ToLongTimeString запоминают время в разное время при нажатии кнопок f и m они символизируют время финиша левого автомобиля и правого после происходит их сравнивание и при этом ошибка. понять не могу как исправить! файлы из Resources перед запуском исходника закинуть в папку Resources
Миниатюры
Как вычислить разницу между датами  
Вложения
Тип файла: rar Resources.rar (4.01 Мб, 2 просмотров)
Тип файла: rar Новая папка (6).rar (3.89 Мб, 14 просмотров)
0
 Аватар для Visualist
52 / 52 / 25
Регистрация: 01.02.2014
Сообщений: 201
16.11.2014, 17:55
Не могу добраться до ошибки. То ли у меня так открыло (открылось с конвертированием проекта), то ли прога кривая, но не доходит до этой ошибки. Или я не понимаю, что там делать.
Нажимаю "На старт", считает до 300, пишет "Победителей в заезде нет".

Добавлено через 18 часов 8 минут
Нашел твою ошибку. Вычисление переменной t88 идет в условии:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
            If GetAsyncKeyState(Keys.F) Then
                W_R = "on"
                If W_R = "on" = True Then
                    Dim t88 = t.ToLongTimeString
 
                    L_p.Enabled = False
                    Label18.Visible = False : PictureBox8.Visible = True : PictureBox9.Visible = True : PictureBox7.Visible = True
                    Label19.Visible = False : Label22.Visible = False : Label21.Visible = False : Label20.Visible = False
                    Label23.Visible = False : Label25.Visible = False
                    Label24.Visible = False : If Tick97 < Tick98 Then PictureBox8.BackgroundImage = Global.WindowsApplication1.My.Resources.Resources._2_место : L_p.Enabled = False : W_q = "0" : T_L = "1" Else PictureBox8.BackgroundImage = Global.WindowsApplication1.My.Resources.Resources.win : L_p.Enabled = False : W_q = "0" : T_L = "1"
                End If
            End If
Получается, что используется переменная до того, как вычисляется. В итоге у нас в переменной t88 - пустая строка.
0
 Аватар для MACHOMAN
54 / 30 / 4
Регистрация: 15.01.2014
Сообщений: 354
17.11.2014, 21:11  [ТС]
да я понимаю но как сделать по другому выполнение поиска ризниц времени не пойму)
выбор победителя кнопками f и m или на оборот tab статистика
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
18.11.2014, 15:43
Объяви переменные до процедуры, или в Form_Load, но не DIM, а PUBLIC


Так как в VB.NET переменная уничтожается автоматически после завершения процедуры, тоесть после End Sub

Это в VB6 переменная жила пока программу не закроешь.
0
 Аватар для Fragus
37 / 37 / 10
Регистрация: 16.09.2014
Сообщений: 167
18.11.2014, 16:16
Можно и без публика обойтись просто написав ее выше процедуры.
Или в самой процедуры с помощью метода Static. Как я знаю его значение не уничтожается
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
22.11.2014, 22:29
Fragus, за Static спасиб... учту
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2014, 22:29
Помогаю со студенческими работами здесь

Вычислить разницу в днях между двумя датами
using System; class Rerr { static void Main() { const ulong DayInYear = 365; const ulong DayInMonth...

Определить разницу между датами
Пожалуйста подскажите. В поле на форме вводится число в секундах (допустим, 15). При нажатии кнопки &quot;Старт&quot; программа должна...

Найти разницу между датами
Имеется 2 даты. Первая &quot;дата изготовления&quot;, вторая &quot;годен до&quot;. К примеру &quot;20.05.15&quot; и &quot;26.05.15&quot;. Как вывести информацию о том,...

Найти разницу между датами в годах
Задание Написать программу с участием типа DateTime, TimeSpan. Ввести 2 даты Найти разницу между ними в годах :wall: Очень нужна...

Вывести разницу между датами в TextBlock
Ребят, такой вопрос, есть два DatePicker-а, есть textBlock(калькулятор расчёта выслуги лет), в который должна отобразиться разница между...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru