Как узнать утра или вечера в вб

Я делаю свою систему активности dtr, и я хочу знать, как определить, является ли это или вечера? 7:00 - 12:30 должны идти в AM, и 13:00 - 17:00 - в PM.

например:

если время - 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 ответа

Решение

Вместо преобразования в строку работайте непосредственно со структурой 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

должен был проверить это первым в моей идее

Это позволит вам определить ваши собственные "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  

Может быть, этот способ более эффективен

MsgBox(DateTime.Now.AddMinutes(-30).ToString("tt"))
Другие вопросы по тегам