VB.NET中使票证过期的动态计时器ListView

VB.NET中使票证过期的动态计时器ListView,vb.net,countdowntimer,Vb.net,Countdowntimer,我正在制作一个应用程序来跟踪我的工作票,我对日期有问题。我正在使用计时器从date2中减去date1,但它不起作用。计时器计数以天为单位 我想知道的是:为什么一分钟后天数变为0 If ComboBox1.Text = "" Then Else Dim pItem As New ListViewItem Timer1.Stop() pItem.Text = ComboBox1.Text pItem.SubItems.Add(

我正在制作一个应用程序来跟踪我的工作票,我对日期有问题。我正在使用计时器从date2中减去date1,但它不起作用。计时器计数以天为单位

我想知道的是:为什么一分钟后天数变为0

 If ComboBox1.Text = "" Then
    Else
        Dim pItem As New ListViewItem
        Timer1.Stop()
        pItem.Text = ComboBox1.Text
        pItem.SubItems.Add(Now.ToString)
        pItem.SubItems.Add(Strings.Format(DateTimePicker1.Value))
        pItem.SubItems.Add(DateDiff(DateInterval.Day, Now, CDate(DateTimePicker1.Text & " " & Now.TimeOfDay.ToString())).ToString & " Dias")
        '& Now.Hour.ToString & "Horas" & Now.Minute.ToString & "Minutes")
        ListView1.Items.Add(pItem)
        ListView1.Refresh()

        Timer1.Start()
    End If

If Me.ListView1.Items.Count > 0 Then
  For Each Item As ListViewItem In ListView1.Items
    Dim TimeItem As String = Item.SubItems(2).Text  
    Dim DIfference As String = DateDiff(DateInterval.Second, Now, CDate(TimeItem)).ToString & " Days"
  Next
End If

    Me.ListView1.Refresh()
    'CheckListView()

Public Sub CheckListView()
    For Each item As ListViewItem In Me.ListView1.Items
        If CDate(item.SubItems(2).Text) < Now Then 'Get the date of the item
            Dim NewIt As New ListViewItem
            NewIt.Text = item.Text
            NewIt.SubItems.Add(item.SubItems(1).Text)
            NewIt.SubItems.Add(item.SubItems(2).Text)
            NewIt.SubItems.Add("To Delete")
            Me.ListView1.Items.Add(NewIt)
            ListView1.Items.RemoveAt(item.Index)
        End If
    Next

    ListView1.Refresh()
如果ComboBox1.Text=“”,则
其他的
将pItem设置为新的ListViewItem
计时器1.Stop()
pItem.Text=ComboBox1.Text
pItem.SubItems.Add(Now.ToString)
pItem.SubItems.Add(Strings.Format(DateTimePicker1.Value))
pItem.SubItems.Add(DateDiff(DateInterval.Day,Now,CDate(DateTimePicker1.Text&&Now.TimeOfDay.ToString()).ToString&“Dias”)
“&Now.Hour.ToString&“Horas”&Now.Minute.ToString&“Minutes”)
ListView1.Items.Add(pItem)
ListView1.Refresh()
Timer1.Start()
如果结束
如果Me.ListView1.Items.Count>0,则
作为ListView1.Items中的ListViewItem的每个项目
Dim TimeItem作为字符串=项。子项(2)。文本
Dim差异为String=DateDiff(DateInterval.Second,Now,CDate(TimeItem)).ToString和“Days”
下一个
如果结束
Me.ListView1.Refresh()
'CheckListView()
公共子CheckListView()
在Me.ListView1.Items中作为ListViewItem的每个项目
如果CDate(item.SubItems(2.Text)
我不知道计时器和它有什么关系,但这里有一些代码,你可以使用它们来获得你需要的东西

Dim StartDate As Date = DateTimePicker1.Value
Dim CurrentDate As Date = Now
Dim mySpan As TimeSpan = CurrentDate.Subtract(StartDate)
Debug.Print($"Raw Span {mySpan}")
Debug.Print("TotalDays" & CInt(mySpan.TotalDays).ToString)
Debug.Print($"Days: {mySpan.Days}")
Debug.Print($"Hours: {mySpan.Hours}")

您所描述的是一个常见的调试问题。你有一个伟大的调试器在你的指尖,火了它非常适合你的时间