会議時間を設定できるようにするためのコントロールを作成しています。これをデフォルトとして使用したいのですが、現在の時刻は最も近い15分間隔に切り上げられます。したがって、現在6:07の場合、開始時刻は6:15になります。
誰かがこれがどのように達成されるか知っていますか、または私を正しい軌道に乗せるコードスニペットに出くわしましたか?
会議時間を設定できるようにするためのコントロールを作成しています。これをデフォルトとして使用したいのですが、現在の時刻は最も近い15分間隔に切り上げられます。したがって、現在6:07の場合、開始時刻は6:15になります。
誰かがこれがどのように達成されるか知っていますか、または私を正しい軌道に乗せるコードスニペットに出くわしましたか?
これを試して
var date:Date = new Date();
var min:Number = date.minutes;
var h:Number = date.hours;
min = min + (15 - min % 15);
h += min / 60;
min = min % 60;
date.hours = h;
date.minutes = min;
trace(date.toTimeString());
Amarghoshの答えでは、正しく丸められていないことがわかりました。例:7:01を7:00ではなく7:15に丸めます。また、日付の変更(23:50を翌日に丸める例)なども処理しません。
これにより、日、月、年の変化を処理しながら、必要な処理を実行できます。計算は少し簡単です。
protected function roundTimeToMinutes( date:Date, interval:int ):Date
{
var time:Number=date.getTime();
var roundNumerator=60000*interval; //there are 60000 milliseconds in a minute
var newTime:Number=( Math.round( time / roundNumerator ) * roundNumerator );
date.setTime(newTime);
return date;
}