The Now() function reports an incorrect time. Currently in Canberra Australia, it is 9:53am. If I do this: <cfdump var="#Now()#"> it returns {ts '2003-09-17 23:53:42'}. It appears to revert back to GMT instead of the proper time zone.
This will throw my whole application out as it depends on the time and date. And I can't change Windows time zone information on the production server.
I'm aware that this issue is probably a know issue (52730) to do with the Sydney/Australia timezone and that it relates to a Java bug. But hell, I'm getting frustrated now, 3 big issues in my first day of CF6.1.
Is anyone else having trouble?
Here are the other 2 issues I've had:
http://webforums.macromedia.com/coldfusion/messageview.cfm?catid=3&threadid=691872
http://webforums.macromedia.com/coldfusion/messageview.cfm?catid=7&threadid=691927
--
Ken Ford
Certified Dreamweaver MX Developer
PVII Support Team
http://www.projectseven.com
Solved!
It's a known bug!
52730 ColdFusion MX can return incorrect time values if Windows 2000 Server is set to the "Australia/Sydney" time zone. This problem
is due to Sun bug #4762673. To work around this issue, set the user.timezone JVM argument.
Add this to your JVM arguments:
-Duser.timezone=Australia/Sydney
For more information, see http://developer.java.sun.com/developer/bugParade/bugs/4762673.html.
It's amazing what you can find if you search long enough.
Regards
Dale Fraser
Tested this, by adding the -Duser.timezone=Australia/Sydney in through CF Administrator restarted CF MX and it works.
Thank God!
PS: This problem exists for timezone GMT +10:00 Canberra, Melbourne, Sydney.
Regards
Dale Fraser
##PASTED##
I have a custom tag which parses a series of xml files in a directory, this custom tag is called each time in application.cfm and each xml file contains translations for a multilingual web application, which I then can refer to as #request.lang.keyword# in my app.
The request.lang is also put in a session variable as well as the highest file.datelastmodified. Every time this custom tag checks if there is a new higher datemodified available, or the session vars with the cached request.lang in it exists. If necessary a new parse is done, and everything is cached again.
This application always worked under CF 5, and now I have switched to MX6.1 and get the following bug. I run this on a system with dutch locale settings.
Here the datecomparse crashes, it cannot convert my datelastmodified value to a valid date. With the message, "The value "woensdag 6 augustus 2003 16:56:31 uur CEST" could not be converted to a date. ".
For some reason MX6.1 does not recognize this Dutch translation of "Wednesday 6 august 2003 16:56:31 hour".
I have a possible workaround, setting the cached datemodified as a datetimeformatted value, and compare this against a datetimeformatted directoryfile.datelastmodified. However I was hoping there is a more out of the box solution. I guess it has something to do with settings in the Jrun engine layer, but I do not know how to change this part.
80 : <!--- set datemodified to highest datemodified available --->
81 : <cfif IsDefined('highestModifyDate')>
82 : <cfif DateCompare("#dictionary.datelastmodified#","#highestModifyDate#") EQ 1>
83 : <cfset highestModifyDate = dictionary.datelastmodified>
84 : </cfif>