从DateTime中减去小时和分钟不起作用



我正在尝试从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)

最新更新