倒计时系统

作者:袖梨 2022-07-02
在本实例中只介绍倒计时的计算方法


思路:1.创建一个文本用于输出时间;
     2.实例化一个Date类,给定参数为倒计时时间;
     3.用倒计时时间减不断变化的新的系统时间求出相差的毫秒数;
     4.最后学会毫秒-秒-分钟-小时-天之间转换。



加入AS代码:
_root.createTextField("txt", 1, 150, 150, 0, 0);
txt.autoSize = true;
//创建一个文本框用于输出时间
var year = 2008;
var month = 8;
var date = 8;
var hour = 20;
var minute = 0;
var second = 0;
//设置定时时间(本例以北京奥运为倒计时)
var End:Date = new Date(year, month-1, date, hour, minute, second);
//Date类实例化将日期和时间指定为毫秒, 月份(0~11)所以要减1


_root.onEnterFrame = function () {

var Now:Date = new Date();
//获得当前的日期和时间(单位:毫秒)



var dif = (End-Now)/1000;
//计算出二者相差的毫秒数,除以1000转换为秒数



var dif_d = Math.floor(dif/(3600*24));
//相差的天数=[相差的总秒数/一天的总秒数(60秒*60分*24小时)]



var dif_h = Math.floor((dif-dif_d*3600*24)/3600);
//相差的小时=[(天数取整后剩于的总秒数)/一小时的总秒数]



var dif_m = Math.floor((dif-dif_d*3600*24-dif_h*3600)/60);
//相差的分钟=[(天数和小时取整后剩于的总秒数)/一分钟的总秒数]



var dif_s = Math.floor(dif-dif_d*3600*24-dif_h*3600-dif_m*60);
//相差的秒数=[天数和小时和分钟取整后剩于的总秒数]



txt.text = dif_d+"天 "+dif_h+"小时 "+dif_m+"分钟 "+dif_s+"秒";
};



Flash充电: Date类简介
1.Date类的构造函数
public Date([yearOrTimevalue:Number], [month:Number], [date:Number], [hour:Number],[minute:Number], [second:Number], [millisecond:Number])



2.构造函数中的参数
yearOrTimevalue:Number [可选]: 如果指定了其它参数,则此数字表示年份(如 1965)。如果该数字表示

时间值(未指定任何其它参数),则为 1970 年 1月 1日 0:00:00 之前或之后的毫秒数。

month:Number [可选]: 0(一月)到 11(十二月)之间的整数。

date:Number [可选]: 1 到 31 之间的整数。

hour:Number [可选]: 0(午夜) 到 23(晚上11点)之间的整数。

minute:Number [可选]: 0 到 59 之间的整数。

second:Number [可选]: 0 到 59 之间的整数。

millisecond:Number [可选]: 0 到 999 之间的整数(毫秒)。



3.示例

例1:
var d1:Date = new Date();
//Date 对象被设置为运行赋值语句的时间。
trace(d1)
//返回: Tue Dec 18 22:35:38 GMT+0800 2007



例2:
var d2:Date = new Date(2000, 0, 1);
//使用传递 Date 对象的年份、月份和日期参数创建 Date 对象。

trace(d2)
//返回: Sat Jan 1 00:00:00 GMT+0800 2000



例3:
var d1:Date = new Date();
var d2:Date = new Date(2000, 0, 1);
var dif = d1-d2
trace(dif);
//返回相差的毫秒数: 251332873437



例4:也可以通过getTime()函数得到相同的结果
var d1:Date = new Date();
var d2:Date = new Date(2000, 0, 1);
var dif = d1.getTime()-d2.getTime();
trace(dif);
//返回相差的毫秒数: 251332873437

相关文章

精彩推荐