如何知道 vb 中的上午或下午

how to know am or pm in vb

我正在执行我的 activity 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 下午仍然在上午。

提前谢谢你

不转换为字符串,而是直接使用 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

抱歉,我不明白你的问题,但 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

必须先在我的 ide

中进行测试

也许这样更有效

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

这将允许您定义自己的 '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