The code given below in written in VB but uses the wddx_com
library of CFMX 6.1. I have CFM code that serializes an array of
date and passes that to a VB component. The VB component
deserializes and then consumes that. The issue I have is, I just
sent one element in the array selecting the date 16-Mar-2007
08:00:00 AM in the EST time zone (i.e. 2007-3-16T8:0:0-5:0). But
the VB programme consumes the date as 16-Mar-2007 09:00:00 AM in
the EST time zone. I am clue less why it adds an hour.
<!--- cf sample code starts --->
<cfset ArrDateTimes[1] =
ParseDateTime(Form.fld_DateTime)>
<cfwddx action="CFML2WDDX" input="#ArrDateTimes#"
output="wddxDateTimes">
<cfobject class="MyVBComponent.clsDateTime"
action="Create" name="VBDateTime">
<cfset test = VBDateTime.GetDateTime(wddxDateTimes)>
<!--- cf sample code ends --->
<!--- vb sample code starts --->
Dim objWddxDeser As New WDDXDeserializer
Dim varValue As Variant
varValue = objWddxDeser.deserialize("<wddxPacket
version='1.0'><header/><data><array
length='1'><dateTime>2007-3-16T8:0:0-5:0</dateTime></array></data></wddxPacket>")
MsgBox CStr(varValue(0))
<!--- vb sample code ends --->
I have the Windows 2000 DST patch (
http://support.microsoft.com/kb/914387/)
applied and also the JDK US DST Time zone Update Tool - 1.1 (latest
released on Mar 8th) applied for the JRE shipped with Coldfusion MX
6.1. I don't have a separate JRE or JDK installed in the box and
the date time is working perfectly in all other places of the
application.
Am I missing something or is it a bug with the library
WDDX_COMLib 1.0. Any help greatly appreciated.