• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 208
  • Last Modified:

My host has got his timezone set to something different from mine (i live somewhere across the globe from him).

My host has got his timezone set to something different from mine (i live somewhere across the globe from him).
Is there someway I can control the timezone via <cfml>, instead of having him change the time zone to suit mine?
0
lifegauge
Asked:
lifegauge
  • 3
  • 3
  • 2
  • +1
1 Solution
 
mrichmonCommented:
You cannot control the timezone of the server using CF.

If you know the difference however, you can just adjsut the time each time you display it.
0
 
lifegaugeAuthor Commented:
I'm thinking of setting request.mytime in application.cfm and refer to that instead of now() in my pages, but i'm not sure how to find out the difference. my timezone is gmt +8.
0
 
mrichmonCommented:
And what is their timezone?
0
[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

 
James RodgersWeb Applications DeveloperCommented:
GetTimeZoneInfo() will give you the time on the server and then you can use that with createDateTime to set a variable to match your local time so if the server time offset is 15hrs and you are offset 5 hours the diff is 10 hours so you could try



<cfset myVar=createDateTime(year(now()), month(now()), day(now()), hour(now())-10,minute(now()),second(now()))>

but hour is supposed to be 0-23 so if yuo get a neg number you will need to do some more work to adjust the day then the month then the year

so
<cfset mysec=second(now())>
<cfset mymin=minute(now())>
<cfset myhour=hour(now())-10>
<cfif myhour lt 0>
<cfset myday=day(now())-1>
<cfset myhour=23+myHour>
</cfif>
<cfif myday lt 1>
<cfset mymonth=month(now())-1>
<cfset myday=1>
</cfif>
etc
<cfset mysec=second(now())>
0
 
lifegaugeAuthor Commented:
This is kinda confusing, I've done it the short way before, just couldn't remember how to get it done therefore I believe there's any easier way to adjust the timezone, does anyone else have other suggestions?
0
 
LeaperJPDCommented:
Sure, try this:

<!--- get the time zone offset in hours from the server, I call it timez --->
<cfset timez = gettimezoneinfo()>

<!--- set the difference between your time and the server's time --->
<cfset timediff = -4>

<cfoutput>#dateadd("h", timez.utchouroffset+timediff, now())#</cfoutput>
0
 
lifegaugeAuthor Commented:
Using this:
<!--- get the time zone offset in hours from the server, I call it timez --->
<cfset timez = gettimezoneinfo()>

<!--- set the difference between your time and the server's time --->
<cfset timediff = +8>

<cfset nowtime = #dateadd("h", timez.utchouroffset+timediff, now())#>

<cfoutput>
Current time: #dateformat(now(),'dd-mm-yyyy (HH:mm:ss)')#
<br>
New time: #dateformat(nowtime,'dd-mm-yyyy (HH:mm:ss)')#
</cfoutput>

I am getting this:
Current time: 07-05-2004 (09:05:13)
New time: 07-05-2004 (22:05:13)

The problem is, the current time (my time) is 22:50 and not 22:05.
How do I correct this problem?
0
 
mrichmonCommented:
So it isn't just a timezone issue then, but also a difference in the set times on the servers that you want to account for?
0
 
LeaperJPDCommented:
This is not a timezone issue then, the server time is just wrong.  You could adjust for it, but what if the system admin corrects the clock?  But if you really want to..... you can use this:

<!--- get the time zone offset in hours from the server, I call it timez --->
<cfset timez = gettimezoneinfo()>

<!--- set the difference between your time and the server's time --->
<cfset timediff = -4>

<cfset tmpTime = dateadd("h", timez.utchouroffset+timediff, now())>

<cfset smalltimediff = -45>

<cfoutput>#dateadd("n", smalltimediff, tmpTime)#</cfoutput>
0

Featured Post

[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

  • 3
  • 3
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now