同じ名前の2つのクラス、DateTimeFormatter
があります。 1つは純粋なActionscriptクラスで、もう1つは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);
並べ替え、私は週の開始のためだけに文字列ではなく、オブジェクトの取得を見ています。ちょうど私が探しているかもしれないサードパーティ製のlibary http://www.as3commons.org/as3-commons-lang/asdoc/org/as3commons/lang/DateUtils.html#getStartOfWeek()が見つかりましたが、まだ確認してください。 –
上記のコードにStringが含まれていません:) Dateオブジェクトは、エポックタイムをミリ秒単位で返します。いったんこれを取得すると、週の最初の曜日を表す整数を使用して、必要な時間をミリ秒単位で調べることができます。その後、必要に応じて、その時間を再利用するか、新しいDateオブジェクトを作成します。 –
'DateFormatter'を使用して、ユーザのロケールの曜日の最初の曜日を取得します。たぶんあなたはas3commonsの気の利いたコードでこれを使うことができます:) –