1

私は Actionscript 3 でこれを行うために最善を尽くしていますが、頭を悩ませています。設定された日付から今日の日付までに月曜日が何日経過したかを計算する必要があります。それに 3.5 を掛けて x から差し引きます。次に、火曜日が何日経過したかを計算し、それを 7 倍して x から差し引きます。最後に、水曜日が何日経過したかを計算し、7 を掛けて x から差し引きます。

これにより、他の計算を行うための x の正確な値を得ることができます。プロジェクトの経過日数に基づいて、利用可能な残り時間の実行中のカレンダーを IOW します。

次に、ユーザーが x の残りの値に対して時間のセクションを予約できるようにするつもりです。

これまでのところ、AS3 で曜日を取得できます。

    var dayOfWeek_array:Array = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); 
    var today_date:Date = new Date(); 
    var day_str:String = dayOfWeek_array[today_date.getDay()]; 
    trace("Today is "+day_str);

私はここで私の深みから少し外れているように感じます。アドバイスやヘルプをいただければ幸いです。

4

1 に答える 1

1

私があなたをよく理解していれば:

public function astest()
{
    var days_count:Object = getDaysCounter(new Date(1984, 6, 6), new Date());

    trace("mondays:", days_count[1]);
    trace("tuesdays:", days_count[2]);
    trace("wednesdays:", days_count[3]);
}

private function getDaysCounter(from:Date, to:Date):Object
{
    //map of the day counter days_count[day] = count;
    var days_count:Object = {};

    //number of millisecons in one 24h day
    var day_ms:int = 24*60*60*1000;

    //the number of 24h day passed since "from" date
    var days_passed:int = (to.time - from.time)/day_ms;

    var iter_date:Date = from;
    //number of full weeks since "from" date
    var full_weeks:int = days_passed/7;

    for(var d:int = 0; d < 7; d++)
        days_count[d] = full_weeks;

    var last_day:int = from.day;
    var extra_days:int = days_passed%7 + last_day;
    for(var i:int=last_day; i < extra_days; i++)
    {
        //add 1 day to the current time
        iter_date.time += day_ms;
        days_count[iter_date.day]++;
    }

    return days_count;
}   

このコードは現在の日をカウントしません。つまり、今日が火曜日の場合、明日まで結果にカウントされず、24 時間経過した日のみがカウントされます。

于 2013-01-22T14:03:55.517 に答える