我收到一個服務器的日期,以毫秒爲單位,自1-1-1970年。然後我使用DateFormatter將日期打印到屏幕上。但是,Flex添加了時間差異,因此顯示的時間與我從服務器獲得的時間不同。我通過在打印到屏幕之前更改日期來解決此問題。但我認爲這是一個不好的解決方案,因爲日期對象不包含正確的日期。flex3格式日期不帶時區
有誰知道如何使用dateFormatter打印日期,忽略時區?
我這是怎麼做的:
function getDateString(value:Date):String
{
var millisecondsPerMinute:int = 1000*60;
var newDate:Date = new Date(value.time - (millisecondsPerMinute*value.timezoneOffset));
var dateFormatter:DateFormatter = new DateFormatter();
dateFormatter.formatString = "EEEE DD-MM-YYYY LL:MM AA";
return dateFormatter.format(newDate);
}
我沒有嘗試這樣做,我不知道這是否會幫助,但你嘗試使用日期對象UTC的功能呢? – 2009-12-14 11:31:14
嗯,它實際上是創建字符串的DateFormatter,而DateFormatter調用常規函數,因此不會執行任何操作。我也嘗試過'newDate.timezoneOffset = 0',但timezoneOffset是隻讀的,所以也不起作用。 – 2009-12-14 12:20:04