在Actionscript中开始或结束一周

时间:2012-04-26 05:01:20

标签: actionscript-3 flex actionscript flex4

我正在寻找一种方法,使用(并且目前坚持使用)Flex 4.1,在Actionscript中获得本周相对于今天的开始。在Java中,我将使用Calendar类通过以下方式执行此操作: -

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

我似乎无法找到任何优雅的解决方案 - 我错过了什么?

1 个答案:

答案 0 :(得分: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);