Member 12986530 Ответов: 2

Vb.net кнопка разница во времени 2


у меня есть 2 кнопки, которые получают мое системное время.
DateTime.Now.ToString
Итак, проблема в том, как я могу получить разницу в два раза по 2 кнопкам и отобразить 2 текстовых поля

и мне нужно, чтобы эта разница была переменной, потому что я сохраню ее в своей базе данных

Что я уже пробовал:

'button1

        Timer2.Start()
        TextBox1.Text = DateTime.Now.ToString("hh:mm:ss tt")


'button2

        Timer2.Start()
        TextBox2.Text = DateTime.Now.ToString("hh:mm:ss tt")



я попытался поставить это button2
label1.Text = DateDiff("n", DateTime.Parse(TextBox2.Text), DateTime.Parse(TextBox1.Text)).ToString
но это дает отрицательное число пример: -2 (минуты)
поэтому, пожалуйста, помогите мне зачаровать код

Richard MacCutchan

Какая разница во времени? Пожалуйста, отредактируйте свой вопрос и четко объясните свою проблему.

Member 12986530

отредактированный

2 Ответов

Рейтинг:
20

Maciej Los

Например:

Dim startTime As DateTime
Dim endTime As DateTime
Dim duration As TimeSpan


'button1
starttime = DateTime.Now

'button2
endtime = DateTime.Now

'calculate time difference
duration = endTime - startTime



Для получения более подробной информации, пожалуйста, смотрите:
Структура Временного Интервала (Система)[^]


Member 12986530

мне очень жаль, но не могли бы вы, пожалуйста, сделать код полным? я новичок в vb.net и я немного запутался в вашем ответе

Maciej Los

Какая часть вышеприведенного кода сбивает вас с толку?

Member 12986530

все это? например, где я буду показывать время? мне очень жаль, но я действительно Новичок в этом деле

Ralf Meier

ОК... Я перевожу его для вас :

- вы объявили 3 переменные в вашем классе (или вашей форме) вне любого метода
- вы должны присвоить значение DateTime.Теперь перейдем к StartTime в том методе, который вызывается при нажатии (или щелчке) кнопки Button1
- вы должны присвоить значение DateTime.Теперь перейдем к EndTime в том методе, который вызывается при нажатии (или щелчке) кнопки Button2
- если вы теперь хотите узнать разницу между обоими значениями, вы можете получить ее с помощью последнего расчета. Это назначение может быть вызвано (например) в том методе, который хранит эту информацию в вашей базе данных ...

Maciej Los

Коротко И По Существу!

Ralf Meier

Нет... коротко и по существу было ваше решение (которое, на мой взгляд, содержало всю необходимую информацию).
Меня это немного позабавило-именно поэтому я и написал этот комментарий ...

Maciej Los

Спасибо, Ральф.
Овации,
Мацей

Member 12986530

3 объявленная переменная - это " неиспользуемая локальная переменная:"
имя startTime, endTime, duration не объявляется

Ralf Meier

Возможно, вам следует показать свой настоящий код ...
Используйте функцию "улучшить вопрос", чтобы добавить его к этому вопросу ...

Рейтинг:
0

Richard MacCutchan

Ваши параметры DateDiff неверны, см. Функция DateDiff (Visual Basic)[^].

Однако Мацей предложил лучшее решение выше.


Member 12986530

я новичок в vb.net я не понимаю этого фрагмента.

Richard MacCutchan

Больше ничего сказать нельзя. Вы записываете каждое значение DateTime, которое также можно использовать для отображения в текстовых полях. Затем вы вычисляете разницу между этими двумя значениями позже. Вычисленное значение TimeSpan-это то, что вы сохраняете в базе данных.