2010-08-24 50 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