如何在vb中知道am或pm

时间:2016-01-26 14:29:11

标签: vb.net time timeofday

我正在做我的活动dtr系统,我想知道如何确定它是上午还是下午?上午7点 - 下午12:30应该是上午,下午1点到下午5点将是下午。

例如:

如果时间是下午12:30,它仍然是上午,如果是下午12:31,它现在将进入下午。

Dim hour As Date = TimeOfDay.ToString("hh:mm")
    If hour <= "12:30" Then
        isTimeAM_Exist() ' will go to am
    Else
        isTimePM_Exist() ' will go to pm
    End If

在我的代码中,下午4:00仍在上午。

提前谢谢你

4 个答案:

答案 0 :(得分:3)

不是转换为字符串,而是直接使用DateTime结构,并将其与正确的起始值进行比较

Dim now = Date.Now
If now < New DateTime(now.Year, now.Month, now.Day, 12, 00, 0) Then
    'It's currently AM
Else
    'It's currently PM
End If

答案 1 :(得分:0)

抱歉,当我不明白你的问题,但是TimeOfDay有这个信息:

    Dim hour As Date = TimeOfDay
    If hour.Hour >= 12 Then
        ' do whatever you like to do on afternoon
    Else
        ' time to wake up
    End If

必须先在我的意识

中对此进行测试

答案 2 :(得分:0)

这将允许您定义自己的'AM'和'PM':

' FormatDateTime(Now(), 4) gives 24-hour format (hh:mm)
If Hour(FormatDateTime(Now(), 4)) + Minute(FormatDateTime(Now(), 4))/60 <= 12.5 Then
    ' Is AM
Else
    ' Is PM
End If  

答案 3 :(得分:-1)

也许这种方式更有效

MsgBox(DateTime.Now.AddMinutes(-30).ToString("tt"))