2012-04-26 104 views
0

我正在尋找一種在Actionscript中使用(並且目前堅持使用)Flex 4.1來獲取相對於今天的開始時間的方法。Actionscript中開始或結束的日期

Calendar cal = Calendar.getInstance(); 
    cal.setTime(new Date()); 
    cal.set(Calendar.DAY_OF_WEEK, 
      1); 
    return cal.getTime(); 

我似乎無法找到任何解決方案,隨時隨地優雅 - - 我失去的東西:在Java中我將通過使用Calendar類做到這一點?

回答

1

有兩個類,同名,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); 
+0

排序,我正在尋找一週的開始日期對象,而不僅僅是字符串。剛剛找到第三方庫房http://www.as3commons.org/as3-commons-lang/asdoc/org/as3commons/lang/DateUtils.html#getStartOfWeek()這可能是我正在尋找,但尚未確認。 – 2012-04-26 06:19:19

+0

在上面的代碼中沒有String參與:) Date對象返回以毫秒爲單位的紀元時間。一旦你有了,你可以使用代表一週中第一天的整數來計算出所需的時間(以毫秒爲單位)。然後如有必要,重新使用或創建一個新的Date對象。 – 2012-04-26 06:31:25

+0

只能使用'DateFormatter'來獲取每週的第一天,這將是用戶的區域設置。也許你可以在as3commons中使用這個漂亮的代碼:) – 2012-04-26 06:32:09