我正在尝试从DateTime变量中减去小时和分钟,我发现其他帖子表明你应该能够使用.AddHours(-3)来实现这一点,但它对我不起作用。我正在从vb.net中的DateTimePicker控件中获取日期时间。假设时间是上午10:00,我想从中减去3小时,使其成为上午7:00。我的hours变量的计算结果是-3,但即使我只是把数字-3放在.AddHours中,它仍然不会减去时间。这是代码
Dim ApptTime As DateTime = Convert.ToDateTime(DateTimePicker2.Value)
Dim travelTime As String = Label60.Text
Dim newtime As Double
Dim split() As String = travelTime.Split(" ")
If split.Length = 2 Then
Dim Minutes As String = split(0).Replace("mins", "")
Else
Dim Hours As Double = split(0).Replace("Hours", "")
Dim Minutes As Double = split(2).Replace("mins", "")
Hours = -Hours
Minutes = -Minutes
ApptTime.AddHours(Hours)
ApptTime.AddMinutes(Minutes)
Label62.Text = (ApptTime.ToString)
这是一个简单的错误。。。
Dim ApptTime As DateTime = Now
'ApptTime.Subtract(New TimeSpan(1, 60, 60)) 'won't work
ApptTime = ApptTime.Subtract(New TimeSpan(1, 60, 60)) '1h , 60m , 60s
试试这个:
Dim NowMinusThreeHours = DateAdd(DateInterval.Hour, -3, Now)