Is the DateFormat read only?

Bob Sneidar bobsneidar at iotecdigital.com
Mon Nov 9 11:58:02 EST 2020


Your code contains a smart quote and an em dash. This works:

function fUTCTime
   local t1,t2,t3
   -- this gets the current time and puts it into UTC format, i.e YYYY-MM-DDThh:mm:ssTZD
   put word 5 to 6 of the internet date into t3 -- we are interested in the time and time zone
   put the long time into t1
   convert t1 to dateItems -- format is yyyy,m,d,h,m,s,day no.
   put (item 1 of t1) & "-" & f2digits(item 2 of t1) & "-" & f2digits(item 3 of t1) &"T" & word 1 of t3 into t2
   put word 2 of t3 into t1 -- the time zone indication
   get char 1 of t1 -- the code for 0 (zero) is Z, apparently
   
   if it <> "+" and it <> "-" then
   put "Z" after t2
else
   put t1 after t2
end if

return t2
end fUTCTime

function f2digits theNum
-- add a leading zero. We don't check if there are more than two digits
  if number of chars of theNum = 1 then
     return ("0" & theNum)
  else
     return theNum
  end if
end f2digits

Bob S

> On Nov 7, 2020, at 02:27 , Graham Samuel via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> function fUTCTime
>   local t1,t2,t3
>   -- this gets the current time and puts it into UTC format, i.e YYYY-MM-DDThh:mm:ssTZD
>   put word 5 to 6 of the internet date into t3 -- we are interested in the time and time zone
>   put the long time into t1
>   convert t1 to dateItems -- format is yyyy,m,d,h,m,s,day no.
>   put (item 1 of t1) & "-" & f2digits(item 2 of t1) & "-" & f2digits(item 3 of t1) &"T" & word 1 of t3 into t2
>   put word 2 of t3 into t1 -- the time zone indication
>   get char 1 of t1 — the code for 0 (zero) is Z, apparently
>   if it <> "+" and it <> "-“ then
>      put "Z" after t2
>   else
>      put t1 after t2
>   end if
>   return t2
> end fUTCTime
> 
> function f2digits theNum
> -- add a leading zero. We don't check if there are more than two digits
>   if number of chars of theNum = 1 then
>      return ("0" & theNum)
>   else
>      return theNum
>   end if
> end f2digits
> 
> 
>> On 7 Nov 2020, at 01:34, Alex Tweedly via use-livecode <use-livecode at lists.runrev.com> wrote:
>> 
>> I don't think it "strips" the TZ info - it simply ignores it. I think the key phrase is in the dictionary as :
>> 
>>> *Note:* The *convert* command assumes all dates / times are in local
 time except for 'the seconds', which is taken to be universal time.
>>> 
>> So it assume syou date is in local time (regardless of the +0300), and therefore your example returns +0000 for you (I assume you're in the UK, or equivalent,  now). It does the same for me, and returns the date with "+0000".
>> 
>> However, the same code run on my LC server (wherever on-rev is these days), changes the +0300 to -0500 - i.e. it's taken as local time where the server is.
>> 
>> 
>> I assume you should be able to do something with the TimeZone library - but I'm struggling to figure that out.
>> 
>>>   local tNow
>>>   put the seconds into tNow
>>>   put FromUniversalTime(tNow,"US/Central") into tt
>>>   put tNow && tt
>>>   put FromUniversalTime(tNow,"US/Alaska") into tt
>>>   put CR & tt after msg
>> gives me
>> 
>> 1604709030 1604709030
>> 
>> 1604709030
>> 
>> so I don't have a clue  what it was trying to do !?!
>> 
>> Alex.
>> 
>> On 06/11/2020 21:28, David Bovill via use-livecode wrote:
>>> Why does:
>>> 
>>> get "Fri, 06 Nov 2020 10:57:37 +0300"
>>> convert it to internet date
>>> put it
>>> 
>>> — give
>>> "Fri, 06 Nov 2020 10:57:37 +0000"
>>> 
>>> Just seems to strip the timezone info?
>>> On 30 Oct 2020, 21:29 +0000, How to use LiveCode <use-livecode at lists.runrev.com>, wrote:
>>>> ToUniversalTime
>>> _______________________________________________
>>> 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