/* * Copyright 2007 Kazuma Ieiri [hbkr.jp] * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package jp.hbkr.baka { /** * jp.hbkr.baka.CountDown * * 秀樹還暦もしくは指定日時までの日数、時間を返すクラス * static関数のみです。 * * @usage * * import jp.hbkr.baka.CountDown; * CountDown.getHidekiKanreki(); * * @author Kazuma Ieiri [hbkr.jp] * @version 0.0.1 * @history * 200070817 - 作成 */ public class CountDown { private static const daySec = 60 * 60 * 24; private static const hourSec = 60 * 60; //コンストラクタ public function CountDown() {} /** * 秀樹還暦までの日数、時間を返します。 * 年齢詐称疑惑もあるので注意して利用してください。 * * @return Array 日,時,分,秒の配列 */ public static function getHidekiKanreki():Array { return getCountDown(2015, 4, 13, 0, 0, 0); } /** * 指定日時までの日数、時間を返します。 * * @param year Number 対象となる年 * @param month Number 対象となる月 * @param day Number 対象となる日 * @param hour Number 対象となる時 * @param min Number 対象となる分 * @param sec Number 対象となる秒 * @return Array 日,時,分,秒の配列 */ public static function getCountDown(year:Number, month:Number, day:Number, hour:Number, min:Number, sec:Number):Array { var dateObj:Date = new Date(); var _day:Number; var _hour:Number; var _min:Number; var _sec:Number; var eventUTC:Number = Date.UTC(year, month - 1, day, hour, min, sec); var nowUTC:Number = Date.UTC( dateObj.getFullYear(), dateObj.getMonth(), dateObj.getDate(), dateObj.getHours(), dateObj.getMinutes(), dateObj.getSeconds() ); var dfUTC:Number = eventUTC - nowUTC; _day = Math.floor(dfUTC / daySec / 1000); dfUTC -= _day * daySec * 1000; _hour = Math.floor(dfUTC / hourSec / 1000); dfUTC -= _hour * hourSec * 1000; _min = Math.floor(dfUTC / 60 / 1000); dfUTC -= _min * 60 * 1000; _sec = Math.floor(dfUTC / 1000); return new Array(_day, _hour, _min, _sec); } } }