flash定时函数,准确到分秒的。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flash定时函数,准确到分秒的。相关的知识,希望对你有一定的参考价值。

EndTime = new Date(2013, 9, 6, 9, 0, 0);
NowTime = new Date();
zong = Math.floor((EndTime.getTime() - NowTime.getTime()) / 1000);
if (zong >= 0)

tian = Math.floor(zong / 86400);
zong = zong - tian * 60 * 60 * 24;
shi = Math.floor(zong / 3600);
zong = zong - shi * 60 * 60;
fen = Math.floor(zong / 60);
zong = zong - fen * 60;
miao = zong;
DaoJiShiText = String(tian);
DaoJiShiText2 = String(shi);
DaoJiShiText3 = String(fen);
DaoJiShiText4 = String(miao);
// end if
if (zong > -1)

_root.gotoAndPlay(0);

else

_root.gotoAndPlay(1);
// end else if

我原来是用这个的,怎么样修改可以实现直接定义倒计时,而不用同步到电脑时间?

可以用计时器Timer这个类,自己百度来学习一下。
用法例子大致如下:
var totalTime:uint = 600; //设置倒计时的时长,秒为单位
var m:uint = 0; //minute
var s:uint = 0; //second
var tf:TextField = new TextField(); //显示倒计时的文本
addChild(tf);
var time = new Timer(1000); //定义计时器,参数:每1000毫秒执行一次
time.addEventListener(TimerEvent.TIMER,timerHandler); //即每1000毫秒执行一次timerHandler()
time.start(); //启动计时器,停止用time.stop();
function timerHandler(e:TimerEvent):void

totalTime -= 1;
m = int(totalTime/60); //剩余的分
s = totalTime%60; //剩余不足1分的秒
tf.text = "倒计时:"+ m+":"+s;
参考技术A 用时间间隔函数setInterval,他可以精确到毫秒。
例:供参考,帮助里也有。executeCallback到时执行的函数,duration时间间隔,ox,oy我自己定义的参数,可以去掉。
var duration=1000;
intervalId = setInterval(this, "executeCallback", duration, ox, oy);
function executeCallback(ox, oy)

有了这个,你可以定个总时间,然后没过多少时间就减少。就是倒计时了。1000毫秒=1秒,精确到秒,duration=1000;
参考技术B var intervalID:int = -1;
start(60); ///< 60秒倒计时
function start(totalTime:Number):void

    clearInterval(intervalID);
    intervalID = setInterval(update,33,getTimer()/1000,totalTime);
    update(getTimer()/1000,totalTime);

function update(startTime:Number,totalTime:Number):void

    var t:Number = totalTime-getTimer()/1000+startTime;
    if(t <= 0)
    
        t = 0;
        clearInterval(intervalID);
    
    var d:String = String(int(t/3600/24)); ///< 天
    var h:String = String("0"+(int(t/3600)%24)).substr(-2,2); ///< 小时
    var m:String = String("0"+int(t/60)).substr(-2,2); ///< 分
    var s:String = String("0"+int(t)).substr(-2,2); ///< 秒
    var ss:String = String("0"+int((t%1)*100)).substr(-2,2); ///< 百分之一秒
    trace(d+"天 "+h+":"+m+":"+s+"."+ss);

9.1定时器 小时分秒

功能:用切换图片0-9效果显示当前系统时间

属性:img的src

1.用到

new Date()

getHours(),getMinutes(),getSeconds()

getFullyear(),getMouth()+1月数需要加1,getDay()星期为0,1,2,3,4,5,6

 

2.单位数转换成双位字符串的函数

function toDou(n){

if(n<10){

return ‘0‘+n;//任意数加字符串结果为字符串的拼接

}

else{

return ‘ ‘+n;//任意数加空字符串结果为字符串

}

}

 

3.获取字符串用str.charAt(i),否则不兼容

 

4.计时器

开启setInterval(fn,时间)无限循环,setTimeout(fn,时间)只执行一次

关闭clearInterval(),clearTimeout()

关闭方式:

var timer=null;

timer=setInterval(fn,时间);

clearInterval(timer);

 

5.获取系统时间转化成6位字符串

var str=toDou(oDate.getHours())+toDou(oDate.getMinutes())+toDou(oDate.getSeconds)

 

6.改变图片路径

aImag[i].src=‘img/‘+str.charAt(i)+‘.png‘

 

7.setInterval(fn,时间)是时间后执行fn,显示会有些问题,为了一开始就执行fn,

代码顺序:

fn(...);

setInterval(fn,时间);

fn();

 

///////////////

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">

<link href="css1.css" rel="stylesheet" type="text/css"
charset="UTF-8">
</head>
<body>
<div id="div1">
<img src="img/0.png"/>
<img src="img/0.png"/>
:
<img src="img/0.png"/>
<img src="img/0.png"/>
:
<img src="img/0.png"/>
<img src="img/0.png"/>
</div>
<script src="js1.js"> </script>
</body>
</html>

////////////////css

body{
background :#000;
font-size: 50px;
}
#div1{
background:#fff;
width:680px;
height:110px;
padding:0;
margin-top:50px;
margin-left:20%;
text-align: center;
}
img{
width:72px;
height:85px;
margin-top:10px;

}

/////////////////js

window.onload=function(){
function gogo(){
var oDate=new Date();
var aImg=document.getElementsByTagName("img");
function toDou(n){
if(n<10){
return ‘0‘+n;
}
else{
return ‘‘+n;
}
};
var str=toDou(oDate.getHours())+toDou(oDate.getMinutes())+toDou(oDate.getSeconds());
for(var i=0;i<aImg.length;i++){
aImg[i].src=‘img/‘+str.charAt(i)+‘.png‘;
}};
setInterval(gogo,1000);
gogo();
};

以上是关于flash定时函数,准确到分秒的。的主要内容,如果未能解决你的问题,请参考以下文章

活动倒计时-天时分秒(兼容ios,定时器的使用以及其注意事项)

编写一个函数showDate(),返回当前时间(包括年月日小时分秒)

excel将小数格式转化为分秒毫秒格式

php将i:s分秒转秒的最正确方法

如何将GPS数据转换为度分秒

PHP函数gmstrftime()将秒数转换成天时分秒