-1
即時通訊編寫一個函數,使用Visual Studio 2010將時間轉換爲最近的半小時。 例如,15:23至15:30然後如果15:05,它將轉換爲15:00 。轉換時間戳到半小時
任何人有想法嗎?提前致謝。
即時通訊編寫一個函數,使用Visual Studio 2010將時間轉換爲最近的半小時。 例如,15:23至15:30然後如果15:05,它將轉換爲15:00 。轉換時間戳到半小時
任何人有想法嗎?提前致謝。
看看這個答案how to round time 這是一個javascript的例子,但同樣應該可以與vb.net。
您可以使用此方法:
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
當前時間四捨五入到最接近的半小時:
Dim rounded = RoundDateTime(Date.Now, 30, eRoundingDirection.nearest):
最初發現(在C#)here
什麼數據類型是你目前持有時間戳? – 2013-02-25 08:14:03