Tuesday, 20 September 2011 13:54
In it's straightforward form
FormatTime( TimeString, Format )
{
FormatTime, FormattedTime , TimeString, %Format%
return Formattedtime
}
The following function is to convert a given SQL date or a European date formatted value:
FormatDate(val)
{
; SQL format (yyyy-mm-dd HH:mm:ss)
IfInString, val, -
{
StringReplace, val, val, -,,All
StringReplace, val, val, :,,All
StringReplace, val, val, %A_Space%,,All
}
; Standard European format (dd/mm/yyyy HH:mm:ss)
IfInString, val, /
{
ThisTime:=SubStr(val, InStr(val, " ")+1)
StringReplace, ThisTime, ThisTime, :,,A
ThisTime=%ThisTime%
ThisDate:=SubStr(val, 1, InStr(val, " "))
ThisDate=%ThisDate%
ThisDate:=SubStr(ThisDate, 7) . SubStr(ThisDate, 4, 2) . SubStr(ThisDate, 1, 2)
ThisDate=%ThisDate%
val=%ThisDate%%ThisTime%
}
FormatTime, val, %val%, ddd dd-MMM-yyyy HH:mm:ss
Return val
}
// returns format Sat 01-Jan-2011 01:00:00
The next function usually accompanies the above one. It will basically convert seconds into days, hours, minutes, etc.:
FormatSeconds(val)
{
IfInString, val, -
{
Month:=SubStr(val, 8, 3)
Month:=Month * 1
Months=Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
StringSplit, MonthNameArray, Months, |
Month:=MonthNameArray%Month%
TimeString1:=SubStr(val, 12, 4)
TimeString1=%TimeString1%%Month%
TimeString1:=TimeString1 . SubStr(val, 5, 2) . SubStr(val, 17, 2) . SubStr(val, 20, 2) . SubStr(val, 23, 2)
TimeString2:=A_Now
EnvSub, TimeString2, %TimeString1%, Seconds
val:=TimeString2
}
strVal=
ThisDays:=val / 86400
IfInString, ThisDays, .
ThisDays:=SubStr(ThisDays, 1, InStr(ThisDays, ".")-1)
ThisHours:=(Mod(val, 86400)/3600)
IfInString, ThisHours, .
ThisHours:=SubStr(ThisHours, 1, InStr(ThisHours, ".")-1)
ThisMins:=(Mod(val, 3600)/60)
IfInString, ThisMins, .
ThisMins:=SubStr(ThisMins, 1, InStr(ThisMins, ".")-1)
ThisSecs:=Mod(val, 60)
IfInString, ThisSecs, .
ThisSecs:=SubStr(ThisSecs, 1, InStr(ThisSecs, ".")-1)
If ThisDays>0
{
If ThisDays>365
{
ThisYears:=ThisDays/365
IfInString, ThisYears, .
ThisYears:=SubStr(ThisYears, 1, InStr(ThisYears, ".")-1)
Grammar:=(ThisYears=1) ? "" : "s"
strVal=%ThisYears% year%Grammar%,
ThisDays:=ThisDays - (ThisYears*365)
Grammar:=(ThisDays=1) ? "" : "s"
strVal=%strVal% %ThisDays% day%Grammar%,
} else {
Grammar:=(ThisDays=1) ? "" : "s"
strVal=%ThisDays% day%Grammar%,
}
}
If ThisHours>0
{
Grammar:=(ThisHours=1) ? "" : "s"
strVal=%strVal% %ThisHours% hour%Grammar%,
}
If ThisMins>0
{
Grammar:=(ThisMins=1) ? "" : "s"
strVal=%strVal% %ThisMins% minute%Grammar%,
}
Grammar:=(ThisSecs=1) ? "" : "s"
strVal=%strVal% %ThisSecs% second%Grammar%
Return strVal
}
| < Prev | Next > |
|---|


