ISO 8601 date format in Lotus Script
Daniel Nashed – 2 October 2021 15:39:22
ISO 8601 date format isn't a new requirement but there isn't an implementation yet -- but there is an AHA idea.
Took me a moment to write conversion function. None of the date format functions helped.
The format string always appended the "GMT" string.
The tick is to use a NotesDateTime first to ensure you can convert into GMT.
In the next step LSGMTTime is important to convert the date to a normal Date (as a Variant ..).
Finally craft your own date string using the Format function for leading zeros..
-- Daniel
------------------
Update 3.9.2021: Lars came up with an easier way. I am not sure why I always had "GMT" added to my string when I tested with the Format function.
Here is a more simple way from Lars Berntrop-Bos:
Function ISO8601Date(dateTime As NotesDateTime) As String
ISO8601Date = Format$(dateTime.LSGMTTime, "yyyy\-mm\-dd\Thh\:nn\:ss\Z")
End Function
Thanks Lars! This makes it more simple and this is why posting solutions make sense. Someone in the community might come up with a better solution! Cool thanks!
-- Daniel
------------------
Example: 2021-09-20T01:02:03Z
Function ISO8601Date (dateTime As NotesDateTime) As String
Dim gmt As Variant
gmt = dateTime.LSGMTTime
ISO8601Date = Format (Year (gmt),"0000") + "-" + Format (Month (gmt),"00") + "-" + Format (Day (gmt),"00") + "T" + Format (Hour (gmt),"00") + ":" + Format (Minute (gmt),"00") + ":" + Format (Second (gmt), "00") + "Z"
End Function
- Comments [5]