有兩個類,同名,DateTimeFormatter
。一個是純ActionScript類,另一個是添加到Flex 4.5中的新類,它包裝了Actionscript版本。 Flex version爲你做了一些繁重的工作。
有一個getFirstWeekday()
方法,它將分別與您指定的區域設置相對應。
[編輯] 我被帶走了,沒有專門回答你的問題。我不知道比DateTimeFormatter更優雅。但是從那裏你可以使用一個Date對象來獲得當前時間,並獲得你想要的。
有一些日期實用程序,但我不知道這個特定的解決方案。您是否正在尋找類似的東西:
var timeFormatter:DateTimeFormatter = new DateTimeFormatter(LocaleID.DEFAULT, DateTimeStyle.NONE, DateTimeStyle.SHORT);
var firstDay:int = timeFormatter.getFirstWeekday()
var now:Date = new Date();
var dayDelta:int = now.day - firstDay;
var firstDayInMillis:Number = now.time - (dayDelta * 86400 * 1000);
// you can construct a new Date from here: var first:Date = new Date(firstDayInMillis);
排序,我正在尋找一週的開始日期對象,而不僅僅是字符串。剛剛找到第三方庫房http://www.as3commons.org/as3-commons-lang/asdoc/org/as3commons/lang/DateUtils.html#getStartOfWeek()這可能是我正在尋找,但尚未確認。 – 2012-04-26 06:19:19
在上面的代碼中沒有String參與:) Date對象返回以毫秒爲單位的紀元時間。一旦你有了,你可以使用代表一週中第一天的整數來計算出所需的時間(以毫秒爲單位)。然後如有必要,重新使用或創建一個新的Date對象。 – 2012-04-26 06:31:25
只能使用'DateFormatter'來獲取每週的第一天,這將是用戶的區域設置。也許你可以在as3commons中使用這個漂亮的代碼:) – 2012-04-26 06:32:09