Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
51 / 27 / 4
Регистрация: 15.01.2014
Сообщений: 348
1

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

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

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

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

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

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

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

__________________
15
51 / 27 / 4
Регистрация: 15.01.2014
Сообщений: 348
14.11.2014, 15:48  [ТС] 2
Вот несколько примеров из интернета но они не работают как надо
0
Вложения
Тип файла: rar WindowsApplication1.rar (65.2 Кб, 6 просмотров)
51 / 51 / 25
Регистрация: 01.02.2014
Сообщений: 201
14.11.2014, 17:45 3
Функция 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
1562 / 1441 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
14.11.2014, 17:53 4
В нашем faq, есть ответы на все вопросы!
2
51 / 27 / 4
Регистрация: 15.01.2014
Сообщений: 348
15.11.2014, 13:53  [ТС] 5
Посмотрел все но не получается указывать Dim datTim1 As Date = #1/4/2001# и Dim datTim2 As Date = #1/9/2001# с помощью переменных постоянно ошибки. Может найдутся люди которые покажут пример чтобы в модуле хранились две даты в формате 13:34:12 и 13:36:16 а нажатием кнопки на форме отображалась разница между ними?
0
51 / 51 / 25
Регистрация: 01.02.2014
Сообщений: 201
15.11.2014, 13:59 6
Лучший ответ Сообщение было отмечено 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
51 / 27 / 4
Регистрация: 15.01.2014
Сообщений: 348
15.11.2014, 17:17  [ТС] 7
У меня два автомобиля начинают заезд на 402 метра в одно и тоже время а приезжают на финиш в разное мне нужно пощетать время каждого автомобиля от старта до финиша и по полученным данным сравнить кто из них победил с статистикой заезда

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

Решение

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
51 / 27 / 4
Регистрация: 15.01.2014
Сообщений: 348
15.11.2014, 20:05  [ТС] 9
Спасибо большое это как раз то что я искал!!

Добавлено через 33 минуты
без ошибки не обошлось: Приведение строки "" к типу "Date" является недопустимым. можно ли это исправить? t88 = t.ToLongTimeString
0
Миниатюры
Как вычислить разницу между датами  
51 / 51 / 25
Регистрация: 01.02.2014
Сообщений: 201
15.11.2014, 20:27 10
Цитата Сообщение от MACHOMAN Посмотреть сообщение
t88
а чему равно t88 в момент возникновения ошибки? не пустой ли строке?
0
51 / 27 / 4
Регистрация: 15.01.2014
Сообщений: 348
15.11.2014, 23:01  [ТС] 11
t88 = t.ToLongTimeString и t66= t.ToLongTimeString запоминают время в разное время при нажатии кнопок f и m они символизируют время финиша левого автомобиля и правого после происходит их сравнивание и при этом ошибка. понять не могу как исправить! файлы из Resources перед запуском исходника закинуть в папку Resources
0
Миниатюры
Как вычислить разницу между датами  
Вложения
Тип файла: rar Resources.rar (4.01 Мб, 2 просмотров)
Тип файла: rar Новая папка (6).rar (3.89 Мб, 14 просмотров)
51 / 51 / 25
Регистрация: 01.02.2014
Сообщений: 201
16.11.2014, 17:55 12
Не могу добраться до ошибки. То ли у меня так открыло (открылось с конвертированием проекта), то ли прога кривая, но не доходит до этой ошибки. Или я не понимаю, что там делать.
Нажимаю "На старт", считает до 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
51 / 27 / 4
Регистрация: 15.01.2014
Сообщений: 348
17.11.2014, 21:11  [ТС] 13
да я понимаю но как сделать по другому выполнение поиска ризниц времени не пойму)
выбор победителя кнопками f и m или на оборот tab статистика
0
Модератор
Эксперт .NET
3251 / 2912 / 448
Регистрация: 27.01.2014
Сообщений: 5,397
18.11.2014, 15:43 14
Объяви переменные до процедуры, или в Form_Load, но не DIM, а PUBLIC


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

Это в VB6 переменная жила пока программу не закроешь.
0
37 / 37 / 9
Регистрация: 16.09.2014
Сообщений: 141
18.11.2014, 16:16 15
Можно и без публика обойтись просто написав ее выше процедуры.
Или в самой процедуры с помощью метода Static. Как я знаю его значение не уничтожается
0
Модератор
Эксперт .NET
3251 / 2912 / 448
Регистрация: 27.01.2014
Сообщений: 5,397
22.11.2014, 22:29 16
Fragus, за Static спасиб... учту
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2014, 22:29

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

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

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

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

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

Найти разницу дней между датами
Доброго времени суток, уважаемые форумчане! Начал изучать MS Visual Studio 2010 C++. Стоит такая...

Получить разницу между двумя датами в минутах
Добрый всем день! Возникла проблемка: забираю с базы данных значение даты и времени (01.09.2014...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.