Date and time format question
Paul Dupuis
paul at researchware.com
Mon Jul 29 18:02:17 EDT 2024
dateItems does not contain the timezone offset, so you would need to get
the timezone offset from the internet date (the only format I can find
that has it) and the break the offset into minutes and hours and perform
the math.
I haven't tested this code (yet), but I think the seconds is the way to go.
function refiXMLTimestamp
-- Need to return the timestamp (current time) in UTC format, or
YYYY-MM-DDTHH:MM:SSZ where Z is zulu or GMT
local tTimestamp
get the internet date -- Mon, 29 Jul 2024 16:49:52 -0400
-- the day of the week followed by a comma, all other item delimited
by a space
-- the day of the month
-- the three-letter abbreviation for the month name
-- the four-digit year
-- the time in 24-hour format, including seconds, delimited by colons
-- the four-digit time zone relative to UTC (Greenwich) time
set the itemDel to space
put last item of it into tZoneOffset -- +/-hhmm
set the itemDel to comma
convert it to seconds
-- the year
-- the month number
-- the day of the month
-- the hour in 24-hour time
-- the minute
-- the second
-- the numeric day of the week where Sunday is day 1, Monday is day
2, and so forth
put char -1 to -2 of tZoneOffset into tMinOffset
delete char -1 to -2 of tZoneOffset
put ((tZoneOffset*3600)+(tMinOffset*60)) into tSecOffset
-- adjust time to zulu/gmt
add tSecOffset to it
convert it to dateItems
-- Now convert to YYYY-MM-DDTHH:MM:SSZ where Z is zulu of GMT/UTC
put format("%4u",item 1 of it) &"-"& format("%2u",item 2 of it) &"-"&
format("%2u",item 3 of it) into tTimestamp -- the date in new
format
put "T"& format(%2u",item 4 of it) &":"& format("%2u",item 5 of it)
&":"& format("%2u",item 6 of it) &"Z" after tTimestamp -- the time in
new format
return tTimestamp
end refiXMLTimestamp
On 7/29/2024 5:37 PM, Bob Sneidar via use-livecode wrote:
> Convert it to dateitems, then back again.
>
> Bob S
>
>
>> On Jul 29, 2024, at 2:09 PM, Paul Dupuis via use-livecode <use-livecode at lists.runrev.com> wrote:
>>
>> Follow up question/request:
>>
>> put the internet date into tTimestamp -- stores something like Mon, 29 Jul 2024 16:49:52 -0400, where the -0400 is the time zone offset
>>
>> Anyone have some already written code to convert this to a time in GMT (i.e where the time zone offset is +0000, i.e. Mon, 29 Jul 2024 20:49:52 +0000)?
>>
>> It is adding the offset to the hours and minutes, but you have to handle carry over, potentially adding or subtracting a day.
>>
>> If the best approach converting to seconds and the doing the math and converting back? (I think this is the answer)
>>
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list