0

アクティビティ 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 時はまだ午前中です。

前もって感謝します

4

4 に答える 4

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
于 2016-01-26T14:35:50.323 に答える
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

私のIDEで最初にこれをテストしなければなりませんでした

于 2016-01-26T14:38:19.337 に答える
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  
于 2016-01-26T15:40:51.347 に答える
-1

多分この方法がより効果的です

MsgBox(DateTime.Now.AddMinutes(-30).ToString("tt"))
于 2016-01-26T14:47:45.077 に答える