2017-12-28 15 views
1

現在の時刻が06:00:00 AMから11:00:00 AMの間であるかどうかを確認するにはどうすればよいですか?vb.net - 現在の時刻が2時間以内かどうかを確認する方法

このようなものですか?

If Now.ToString("hh:mm:ss tt") >= "06:00:00 AM" and Now.ToString <= "11:00:00 AM" Then 
    'Do something 
End If 

すみません。まだ勉強してる。

+2

あなたは、文字列に数学の比較を行う傾けます。 'DateTime'型は、時間、月、秒などを比較できるようにプロパティを持っています – Plutonix

+0

サンプルを取得できますか? – pampilord

+1

'Now'ではなく' DateTime.Now'を使用します。これはVB6のホールドオーバーです。 'TimeOfDay'プロパティはあなたに現在の時刻を表す' TimeSpan'を与えます。特定の時刻を表す別の 'TimeSpan'と比較することができます。サンプルが必要な場合は、それを参照してください。 VSのコピーの[ヘルプ]メニューは、同じ方法で動作すると確信しています。また、ウェブ上の検索エンジンにも同じアクセス権があります。 – jmcilhinney

答えて

1

私はこれを行う簡単な方法でなければならないと感じるが、もしあれば、私はそれを考えることができない。ここで私はそれを行うことを思い付いた最も簡単な/最も安全な方法です:

Dim curr As Date = Date.Now 
Dim startTime As New Date(curr.Year, curr.Month, curr.Day, 6, 0, 0) 
Dim endTime As New Date(curr.Year, curr.Month, curr.Day, 11, 0, 0) 
If (curr >= startTime) And (curr <= endTime) Then 
    ' Do something 
End If 
関連する問題