Getting server time from a client stack accessing it

Sarah Reichelt sarahr at genesearch.com.au
Tue Apr 6 17:35:38 CDT 2004


Hi Andre,
Neat tip from Frank and a good script to implement it, but your script 
always returns GMT. This may have been what you were after, but here is 
a version that gives local time and also checks that the headers 
contain a date.

function getServerTime serverURL
   -- get the URL & read the headers
   put "http://" & serverURL into varURL
   get URL varURL
   put libURLLastRHHeaders() into varDate

   -- check if the headers contain a date
   put lineOffset("Date:",varDate) into tLineNum
   if tLineNum = 0 then return empty

   -- get just the date information in GMT
   put word 2 to 6 of line tLineNum of varDate & " +0000" into tDate
   convert tDate from internet date and time to dateItems

   -- now get your local internet date & read the time zone
   put last word of the internet date into tZone
   -- separate it into hours & minutes and add to the GMT date time
   put char 1 of tZone & char -2 to -1 of tZone into tZoneMins
   delete char -2 to -1 of tZone
   add tZone to item 4 of tDate
   add tZoneMins to item 5 of tDate

   -- convert back to the required format & return it
   convert tDate to system date and time
   return tDate
end getServerTime

Cheers,
Sarah
sarahr at genesearch.com.au
http://www.troz.net/Rev/

On 6 Apr 2004, at 10:28 pm, Andre Rombauts wrote:

> Great tip Frank, indeed! Thanks. It is working fine... Here is the 
> script I
> made. The mouseUp is a button handler being invoked after typing a 
> server
> URL under the form www.name.domain. The server headers contain the 
> Internet
> time but without the UTC + offset, thus the function adds +0000 to set 
> it
> correctly the GMT time returned.
>
> Once more an example of how easy it is to 'create' with Run Rev!
>
> =====
>
> on mouseUp
>   put empty into field "fDate"
>   put getServerTime (the text of field "inputURL") into varDate
>   convert varDate from internet date and time to system date and time
>   put varDate into field "fDate"
> end mouseUp
>
> function getServerTime serverURL
>   put "http://" & serverURL into varURL
>   get URL varURL
>   put libURLLastRHHeaders() into varDate
>   set itemDelimiter to space
>   return item 2 to 6 of line lineOffset("Date:",varDate) of varDate & "
> +0000"
> end getServerTime
>
> =====
>
>> Most servers return the current server time in the Date: HTTP
>> header, so you should be able to ask for any page on the
>> server to get the time.  The date is formatted in a standard
>> "Internet" time (see the RR docs).
>>
>> The response headers will look like this:
>>
>> HTTP/1.1 200 OK\r\n
>> Server: foo\r\n
>> Date: Mon, 05 Apr 2004 16:59:24 GMT\r\n
>> ...\r\n
>> \r\n
>>
>>
>> -- Frank
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
>
>



More information about the use-livecode mailing list