Flash5的DATE对象(二)
br>构造date对象的语法:
new Date();
new Date(year [, month [, date [, hour [, minute [, second [, millisecond ]]]]]] );
参数:
year 是一个 0 到 99 之间的整数,对应于 1900 到 1999 年,或者为四位数字指定确定的年份:
month 是一个 0 (一月) 到 11 (十二月) 之间的整数,这个参数是可选的;
date 是一个 1 到 31 之间的整数,这个参数是可选的;
hour 是一个 0 (0:00am) 到 23 (11:00pm) 之间的整数,这个参数是可选的;
minute 是一个 0 到 59 之间的整数,这个参数是可选的;
second 是一个 0 到 59 之间的整数,这个参数是可选的;
millisecond 是一个 0 到 999 之间的整数,这个参数是可选的。
下面的程序给出了大家经常用到的方法,希望大家能在应用中学习和提高。
材料:3个dynamic text即可,如需要装饰可自己增加。
制作过程:
1,在一个mc内制作3个dynamic text,变量名分别为"date1"、"date2"、"date3"。
2,回到场景,在mc的action(单击mc,按ctrl+alt+A)中输入如下action:
onClipEvent (load) {
days = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"); //new array ( )用来构造数组对象
timedate = new Date();
}
onClipEvent (enterFrame) {
hour = timedate.getHours()-1; //小时要减一才能得出正确的结果
minutes = timedate.getMinutes();
seconds = timedate.getSeconds();
mseconds = timedate.getMilliseconds();
todaydate = timedate.getDate();
day = timedate.getDay();
dayname = days[day]; //把星期期转换成数组中对应的中文星期
month = timedate.getMonth()+1; //月份最大为11所以要加1
monthname = months[month-1]; //把月份转换成数组中对应的中文月份
year = timedate.getFullYear();
if (length(minutes) == 1) { //如果分钟小于10,就在他前面补0
minutes = "0"+minutes;
}
if (length(seconds) == 1) { //如果秒数? 10,就在他前面补0
seconds = "0"+seconds;
}
date1 = hour+":"+minutes+":"+seconds+":"+mseconds;
date2 = month+"/"+todaydate+"/"+year;
date3 = monthname+" "+todaydate+"号"+" "+dayname+" "+year+"年";
delete timedate; //准备下一次的循环,删除当前日期,并且重新构造一个date对象
timedate = new Date();
}
3,直接运行即可得到一个基本而实用的时钟flash(ctrl+enter)。
过程说明:
第一步,当读mc时,进行初始化,这里用到了数组,两个数组分别存储汉文的星期和月份;还初始化了一个date对象;
第二步,每当进入到当前帧时(新增的enterframe十分实用)计算当前的时间,并显示输出到文本变量date1,date2,date3里,这实际上是一个循环,每次重新初始化一个名叫timedate的date对象,然后依次输出。