Time

My web host in in USA, but the majority of my web users are in the UK. They post on forums, and so on which are date stamped using NOW(). Obviously the times are taken from the US server.

Is there a command that I can use in application.cfm (set locale manybe), or something I can do to alter all times added to GMT without having to add a line of code to remove the 6 hours from ever date submitted.

The main reason is that eventually I will be moving to a dedicated server in the uK and I dont want to have to find all this code and change back

Thanks
LVL 3
mvwmailAsked:
Who is Participating?
 
wytcomCommented:
Use this function to get UTC independent of the location of your host server:

<!---

Name:         GetNISTTime()

Author:         Ben Forta, 12/6/2005

Description:   Obtains current time data from NIST
            Internet Time Service servers.

            DST:      US daylight savings time flag.
            HEALTHY:   TRUE if time server is healthy, FALSE if not.
            JULIAN:      Last 5 digits of Julian date/time value.
            LEAPMONTH:   TRUE is second will be added to or subtracted
                     from the current month.
            MSADV:      Number of milliseconds advanced by server to
                     compensate for network latency.
            NOW:      Current date/time.
            RAW:      Raw data from time server.
            SUCCESS:   TRUE if worked, FALSE if not, check
                     this flag first.

Note:         For a list of NIST time servers see:
            http://tf.nist.gov/timefreq/service/time-servers.html
            Servers should be addressed via IP address rather than
            host name. The server used here is time.nist.gov
            (192.43.244.18), but any of the listed servers will work.
            To use an alternate server, just specify the IP
            address in timeServer variable.
--->

<cffunction name="GetNISTTime" returntype="struct" output="false">
   <cfset var timeServer="192.43.244.18">
   <cfset var result=StructNew()>

   <!--- Try/catch block --->
   <cftry>

      <!--- Try get time data --->
      <cfhttp url="http://#timeServer#:13/" />
      <!--- Save raw data --->
      <cfset result.raw = CFHTTP.FileContent>
      <!--- Extract Julian date --->
      <cfset result.julian=ListGetAt(result.raw, 1, " ")>
      <!--- Extract current date and time --->
      <cfset result.now=ParseDateTime(ListGetAt(result.raw, 2, " ")
                              & " "
                              & ListGetAt(result.raw, 3, " "))>
      <!--- Extract daylight savings time flag --->
      <cfset result.dst=IIf(ListGetAt(result.raw, 4, " ") IS 0,
                        FALSE, TRUE)>
      <!--- Extract leap month flag --->
      <cfset result.leapmonth=IIf(ListGetAt(result.raw, 5, " ") IS 0,
                           FALSE, TRUE)>
      <!--- Extract health flag --->
      <cfset result.healthy=IIf(ListGetAt(result.raw, 6, " ") IS 0,
                           FALSE, TRUE)>
      <!--- Extract advance milliseconds --->
      <cfset result.msadv=ListGetAt(result.raw, 7, " ")>
      <!--- Success --->
      <cfset result.success=TRUE>

      <!--- Catch any errors --->
      <cfcatch type="any">
         <cfset result.success=FALSE>
      </cfcatch>

   </cftry>

   <cfreturn result>

</cffunction>
0
 
mvwmailAuthor Commented:
WOAH... gonna have to have a good look at THAT one.. good old Ben F

I suspect that will work.. will try and come back.

Thanks
0
 
pcaiooCommented:
add follow in application.cfm
<cfset Newnow = dateadd(H,5,now())>( 5 is a example if the server 5 hour slower)
then just use Newnow instead of now()
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.