2010-08-24 46 views
2

有谁知道如何让动作呈现空日期值'000:00:00T00:00:00'?我正在调用一个期望SOAP xml中的日期字段的Web服务。我需要这些日期中的一些序列化为空,我看不出如何产生null。我能得到的最接近的值是'1899-11-30T00:00:00Z'。以下是我正在使用的代码:Flex - 日期序列化

var dateStr:String =“0000-00-00T00:00:00+”; var emptyDate:Date = DateUtil.parseW3CDTF(dateStr); newReqData.DateTimeInit = emptyDate;

+0

什么是DateTimeInit的类型?除了传递Date(几乎不会设置为0000 ...)外,没有其他方式进行初始化。 – 2010-08-25 01:22:11

+0

类型是Date。我遇到的问题不是格式化,而是序列化。我想要SOAP调用来呈现通用的NULL日期,我相信它是'0000-00-00T00:00:00'。我的这个Web服务调用的.Net实现在XML文章中呈现这个值。 Flex的实现没有。它呈现'1899-11-30T00:00:00Z'。所以最终的结果是,我在数据库中得到了'11/30/1899'的日期,这是不希望的。使用.Net实现,我在数据库中获得了一个不错的NULL。 – Jim 2010-08-25 13:37:04

回答

0

你可以用日期格式化程序来做。您必须创建一个Date对象,但是如果您将它传递给DateFormatter,则可以将其设置为几乎任何您喜欢的格式。这里的参考,我会建议在看“其他文本”区域:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/formatters/DateFormatter.html

+0

我遇到的问题不在于格式化,而在于序列化。我想要SOAP调用来呈现通用的NULL日期,我相信它是'0000-00-00T00:00:00'。我的这个Web服务调用的.Net实现在XML文章中呈现这个值。 Flex的实现没有。它呈现'1899-11-30T00:00:00Z'。所以最终的结果是,我在数据库中得到了'11/30/1899'的日期,这是不希望的。使用.Net实现,我在数据库中获得了一个不错的NULL。 – Jim 2010-08-25 13:38:19

+0

我遇到.Net之前的日期类型转换问题。其中许多实际来自每个系统(.Net和Flex)作为基础的开始日期。我从来没有遇到过需要传递一个NULL日期对象(并且不能真正想到如何/为什么需要)。如果你的.Net插入一个NULL值到数据库中,可能将它作为一个来自Flex的NULL传递并不是最好的方法。无论是或者你可以检查1899值,并简单地处理它的服务器端。 – Shawn 2010-08-25 16:30:01

+0

您也可以尝试从Flex传递一个字符串并将其解析到日期服务器端。出于好奇,如果Flex的值为NULL,为什么你会传递它? – Shawn 2010-08-25 16:30:33

0

变种d:日期=新的日期(); d.setTime(-62167226400000); Alert.show(d.toString());

或称为Shawn Yale,阅读this