Visual Studio 2010 を使用して、時刻を最も近い 30 分に変換する関数を作成しています。
誰にもアイデアがありますか?前もって感謝します。
この方法を使用できます:
Public Enum eRoundingDirection
up
down
nearest
End Enum
Public Shared Function RoundDateTime(dt As DateTime, minutes As Integer, direction As eRoundingDirection) As DateTime
Dim t As TimeSpan
Select Case direction
Case eRoundingDirection.up
t = (dt.Subtract(DateTime.MinValue)).Add(New TimeSpan(0, minutes, 0))
Case eRoundingDirection.down
t = (dt.Subtract(DateTime.MinValue))
Case Else
t = (dt.Subtract(DateTime.MinValue)).Add(New TimeSpan(0, minutes \ 2, 0))
End Select
Return DateTime.MinValue.Add(New TimeSpan(0, (CInt(t.TotalMinutes) \ minutes) * minutes, 0))
End Function
現在の時刻を最も近い 30 分に丸めるには:
Dim rounded = RoundDateTime(Date.Now, 30, eRoundingDirection.nearest):
最初に見つかった(C#で)ここ
この回答を確認してください時間を丸める方法 これはjavascriptの例ですが、vb.netでも同じことが可能です。