Actionscript 3.0:奇怪的默认时间

Actionscript 3.0:奇怪的默认时间,actionscript,counter,Actionscript,Counter,我想用actionscript在flash中创建一个timeup计数器。分/秒显示良好,但问题是小时从1开始,而不是0。这是代码: import flash.utils.Timer; import flash.events.Event; import flash.events.TimerEvent; import flash.globalization.DateTimeFormatter; var timer:Timer = new Timer(100); timer.start(); tim

我想用actionscript在flash中创建一个timeup计数器。分/秒显示良好,但问题是小时从1开始,而不是0。这是代码:

import flash.utils.Timer;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.globalization.DateTimeFormatter;

var timer:Timer = new Timer(100);
timer.start();
timer.addEventListener(TimerEvent.TIMER, timerTickHandler);
var timerCount:int = 0;

function timerTickHandler(Event:TimerEvent):void
{
    timerCount += 100;
    toTimeCode(timerCount);
}

function toTimeCode(milliseconds:int) : void {
    //create a date object using the elapsed milliseconds
    var time:Date = new Date(milliseconds);

    //define minutes/seconds/mseconds
    var hours:String = String(time.hours);
    var minutes:String = String(time.minutes);
    var seconds:String = String(time.seconds);


    //add zero if neccecary, for example: 2:3.5 becomes 02:03.5
    hours = (hours.length != 2) ? '0'+hours : hours;
    minutes = (minutes.length != 2) ? '0'+minutes : minutes;
    seconds = (seconds.length != 2) ? '0'+seconds : seconds;




    //display elapsed time on in a textfield on stage
    timer_txt.text = hours + ":" + minutes + ":" + seconds;

}

我尝试了一切,但计数器启动时仍然有小时=1

我想你可能会得到一个小时的补偿,因为
Date
自动处理夏令时。尝试改用UTC值:

var hours:String = String(time.hoursUTC);
var minutes:String = String(time.minutesUTC);
var seconds:String = String(time.secondsUTC);

那个代码对我来说似乎是正确的。1是停留在那里,还是只是暂时停留在那里?您是否尝试过查看什么
跟踪(小时)显示为?小时以值1开始,下一个值为2,3,4,5。。。所以问题只是初始值。因为计时器如果用于实时广播,我希望用户能够看到广播的当前时间。计算直播开始后经过的时间没有问题,但当我启动计时器时,如何以x秒/分钟启动计时器。例如,如果广播从15分12秒开始,则当显示计时器时,如果应该从00:15:12开始,而不是从00:00:00开始,则可以将
timerCount
设置为以毫秒为单位的开始时间。(因此,15*60*1000+12*1000)。顺便说一下,如果您单击此答案旁边的勾号,您可以将问题标记为“已回答”。干杯