- Google+ Tools
-
Make Google+ profile picture
Make Google plus banners for profile
Create and share your Google Plus profile banners.
- A class for calculating the Unix-Time of a date. Can be returned in days, hours, minutes, seconds, milliseconds.
UnixTime
Public Class UnixTime
Dim time As TimeSpan
Public Enum UnixTimeFormat
Milliseconds
Seconds
Minutes
Hours
Days
End Enum
Public Sub New()
Me.set(GetUnixTime(UnixTimeFormat.Milliseconds), UnixTimeFormat.Milliseconds)
End Sub
Public Sub New(ByVal format As UnixTimeFormat)
Me.set(GetUnixTime(UnixTimeFormat.Milliseconds), format)
End Sub
Public Sub New(ByVal t As Long, ByVal format As UnixTimeFormat)
Me.set(t, format)
End Sub
Public Function [get](Optional ByVal format As UnixTimeFormat = UnixTimeFormat.Seconds) As Long
Return convertTimeSpanToUnixTime(time, format)
End Function
Public Sub [set](ByVal value As Long, Optional ByVal format As UnixTimeFormat = UnixTimeFormat.Seconds)
Dim mult As Long = 1
Select Case format
Case UnixTimeFormat.Milliseconds
mult = 1
Case UnixTimeFormat.Seconds
mult = 1000
Case UnixTimeFormat.Minutes
mult = 60 * 1000
Case UnixTimeFormat.Hours
mult = 60 * 60 * 1000
Case UnixTimeFormat.Days
mult = 24 * 60 * 60 * 1000
Case Else
Exit Sub
End Select
time = TimeSpan.FromMilliseconds(value / mult)
End Sub
''' <summary>
''' Gets the unix time.
''' </summary>
''' <returns></returns>
Public Function GetUnixTime(Optional ByVal format As UnixTimeFormat = UnixTimeFormat.Seconds) As Long
time = GetUnixTime(Date.UtcNow, format)
Return convertTimeSpanToUnixTime(time, format)
End Function
''' <summary>
''' Gets the unix time.
''' </summary>
''' <param name="d">The date of which the unix time is calculated.</param>
''' <returns></returns>
Public Function GetUnixTime(ByVal d As Date, Optional ByVal format As UnixTimeFormat = UnixTimeFormat.Seconds) As TimeSpan
Return (d - New DateTime(1970, 1, 1))
End Function
Private Function convertTimeSpanToUnixTime(ByVal ts As TimeSpan, ByVal format As UnixTimeFormat) As Long
Select Case format
Case UnixTimeFormat.Milliseconds
Return ts.TotalMilliseconds
Case UnixTimeFormat.Seconds
Return ts.TotalSeconds
Case UnixTimeFormat.Minutes
Return ts.TotalMinutes
Case UnixTimeFormat.Hours
Return ts.TotalHours
Case UnixTimeFormat.Days
Return ts.TotalDays
Case Else
Return Nothing
End Select
End Function
End Class
Comments
blog comments powered by Disqus