[Gambas-user] Best way converting dates into strings forth and back
Rolf-Werner Eilert
rwe-sse at osnanet.de
Fri Dec 10 12:30:32 CET 2021
Am 10.12.21 um 11:18 schrieb Martín Belmonte:
> El 10/12/21 a las 10:38, Rolf-Werner Eilert escribió:
>> would have to convert these dates into some kind of string, and back
>> into Date when loading the file(s).
>> > So my question is, which way is the easiest and fastest to achieve
>> this?
> In the case of saving a date to some storage media I suggest always
> using a text string, because dates are subject to various
> interpretations, such as the method used in shrimp, system time,
> location etc.
> Then the commonly accepted date format that does not lend itself to
> confusion is ISO, specifically:
> 2021-12-10T11:17:01
> I therefore propose two functions to retrieve and save dates:
>
> Static Public Function TimeText(dTime As Date) As String
>
> Return Format(dTime, "yyyy-mm-ddThh:nn:ss")
>
> End
>
> Static Public Function TimeDate(sTime As String) As Date
>
> Dim sDate As String
> Dim aDate As Integer[]
> Dim xDate As Date
> Dim iLen As Integer
>
> sTime = Upper(sTime)
>
> If InStr(sTime, "T") > 0 Then
>
> Select Len(Split(sTime, "T")[1])
> Case 5 ' not seconds
> iLen = 16
> Case 8 ' include seconds
> iLen = 19
> End Select
>
> If InStr(sTime, "-") > 0 And InStr(sTime, ":") > 0 And Len(sTime) =
> iLen Then
> sDate = Replace(sTime, "T", "\t")
> sDate = Replace(sDate, "-", "\t")
> sDate = Replace(sDate, ":", "\t")
> aDate = Split(sDate, "\t")
> xDate = Date(aDate[0], aDate[1], aDate[2], aDate[3], aDate[4],
> aDate[5])
> Endif
> Endif
>
> Return xDate
>
> End
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
Thank you very much Martin, such functions are always useful.
Interesting to see your solutions.
Regards
Rolf
More information about the User
mailing list