Вычет из текущего времени двух дат - Visual Basic .NET

  1. Всем привет! Почему то не получается из текущего времени вычесть две даты, это возможно решить?vb.net1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16   Dim i&, ii&         Dim st2 As DateTime = Date.Now.ToString()           For i = 0 To DataGridView1.Rows.Count - 1               '   DataGridView1.Rows(i).Cells("Время").Value = st2.ToString()             For ii = 0 To DataGridView1.Rows.Count - 1                   Dim st1 As DateTime = DataGridView1.Rows(i).Cells("Время").Value                 '   k = DataGridView1.Rows(i).Cells("Время 1").Value                 Dim st5 As DateTime = DataGridView1.Rows(i).Cells("Дата/время в ДБО").Value                   DataGridView1.Rows(i).Cells("Время 1").Value = (st2 - st1) - st5 'тут выдаёт ошибку....               Next         Next


textual

Код:

DataGridView1.Rows(i).Cells("Время 1").Value = st2 - st1.TimeOfDay - st5


Похожие ответы
  1. Как сделать сделать отсчет времени в формате "mm:ss" например с 05:00 до 00:00? чет не получается у меня никак(( Help) делал так, но там просто идет отсчет от 0...vb.net1 2 3 4 5  Label24.Text = Val(Label24.Text) + 1         If Label24.Text = (100) Then             Timer1.Enabled = False             MsgBox("Время вышло, вы не прошли тест!", MsgBoxStyle.OkOnly)         End If

  1. Можно время преобразовать функцией:vb.net1 =TimeSerial(DatePart("h",Fields!Активное_время.Value),DatePart("m",Fields!Активное_время.Value),DatePart("s",Fields!Активное_время.Value))Но, время не выводится больше 23:59:59, выходит ошибка. Какой функцией можно вывести время больше 23:59:59?

  1. При запуске приложения нужно обработать значительное количество данных. Например, исследовать содержимое папки с несколькими тысячами файлов. Эта операция занимает на среднем компьютере более 10 секунд. Если выполнение этой операции производить в Form_Load это затормозит загрузку приложения. Причём результаты выполнения этой длительной операции понадобятся не сразу после загрузки формы, а чуть позднее. А если в Form_Load вставить запуск второго потока в котором и производить эту операцию, не мешая при этом процессу запуска приложения? Если это возможно, то как это реализовать? Вот приблизительный пример для демонстрации описанных выше "тормозов":vb.net1 2 3 4 5 6 7 8 9 10 11 12 Public Class Form1     Dim count As Long     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load         LongProc()         Label1.Text = count.ToString     End Sub     Sub LongProc()         For i As Long = 0 To 4000000000             count += i         Next     End Sub End ClassДобавлено через 23 часа 51 минуту Вот нашёл в одной из тем (ответ Sklifosofsky):vb.net1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Imports System.Threading Public Class Form1     Private Delegate Sub _dlg(ByVal val As Integer)     Private CallBack As New _dlg(AddressOf ShowResult)     Dim count As Integer     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load         Dim th As New MethodInvoker(AddressOf thExec) 'Создание экземпляра класса делегата         th.BeginInvoke(Nothing, Nothing)              'Старт асинхронного потока     End Sub     Private Sub thExec()         For i As Integer = 0 To 10000             count += i             Me.Invoke(CallBack, i) 'вклинивание передачи данных в основной поток             Try                 Me.Invoke(CallBack, i) 'вклинивание передачи данных в основной поток             Catch ex As Exception                 Exit Sub 'на случай завершения работы приложения до окончания цикла             End Try         Next     End Sub 'Поток завершается автоматически, после завершения работы метода thExec.     Sub ShowResult(ByVal val As Integer)         Label1.Text = count.ToString     End Sub End ClassНо почему-то цикл For совершается довольно медленно (если не использовать второй поток, цикл завершается мгновенно). И не могу догадаться как сделать, чтобы в метке появился конечный результат вычисления цикла, а не последовательный перебор значений.

  1. Всем здравствуйте. Файлы в папке имеют одинаковую структуру yymmdd.ved (yymmdd - это дата). Например, 170125.ved. Если в проводнике выбрана сортировка по имени в порядке возрастания, то последним окажется файл с самой старшей датой. Файлов в папке более 1000 шт. Также в папке может оказаться "залётный" файл, например с расширением bak или txt, нас абсолютно не интересующий. Как определить имя ved-файла с самой старшей датой (он будет в самом конце списка). Неужели перебирать и сравнивать? Если перебирать, то тогда хорошо бы начинать с конца.

  1. Подскажите как сделать подобный control с установкой времени?

  1. Существует ли в NET функция - аналог функции Timer VB-6 (время в секундах от 0 часов)?Добавлено через 15 минут извиняюсь, что-то с памятью. Это уже было Получить количество секунд, прошедших с начала Эпохи Unix модераторы снимите эту тему пожалуйста

  1. есть скрипт на powershell. запускаю его по кнопке:vb.net1 2 3 4 5 6 7 8 9 Dim P As New Process         With P             .StartInfo.FileName = "powershell.exe"             .StartInfo.Arguments = "d:\скрипты\NetWorkSkan.ps1"               .Start()             .WaitForExit()             MsgBox("Done")         End Withсобственно 2 вопроса: 1. Как скрыть окно выполнения скрипта.(что бы не было по верх всех окон) 2. необходимо создать таймер выполнения этого процесса в label1 формата hh:mm:ss. Так как скрипт отрабатывает долго, хочется знать сколько по времени он будет щелкать. Понятно, что обратный отсчет не организовать никак, поэтому прошу помощи в написании времени выполнения скрипта. заранее спасибо за помощь!!!

  1. Как преобразовать значение ячейки в экселе в дату(или время) чтобы потом к нему можно было циклически прибавить шаг в 10 минут? Исходный формат ячейки хрен пойми какой, на выходе получается число с овердофига знаков после запятой, конверт в текст/дату не помогает, addminutes тоже не работает.

  1. Из базы данных в один из столбцов DataGridView выводится время в секундах. Как сделать так, чтобы данные в этом столбце отображались в формате времени? Есть ли в свойствах столбца какие-то встроенные методы для такого преобразования?

  1. В Windows есть возможность синхронизации времени с серверами времени в сети интернет. Система периодически это делает сама. Меня интересует вопрос реализации программного кода, который позволяет нажатием, к примеру, кнопки в программе произвести принудительную синхронизацию времени.