0

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

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

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

4

1 回答 1

1

有两个类,同名DateTimeFormatter。一个是纯Actionscript 类,另一个是添加到Flex 4.5 的新类,它封装了Actionscript 版本。Flex 版本为您完成了一些繁重的工作。

有一种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);
于 2012-04-26T05:17:24.170 回答