Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript日期和时间倒计时_Javascript_Date_Time - Fatal编程技术网

Javascript日期和时间倒计时

Javascript日期和时间倒计时,javascript,date,time,Javascript,Date,Time,我必须创建一个拍卖式倒计时计时器。我在javascript代码中预设了结束日期,然后我必须找出如何计算差异。我的代码工作正常,倒计时也很好,但我想看看是否有一种有效的方法可以做到这一点。我从书中得到了一天的计算结果,但我认为没有必要创建一个小时、分钟、秒变量并除以它 var day = 1000 * 60 * 60 *24; // Initialize and set variables. var startDate = new Date(); startDate.toTimeString()

我必须创建一个拍卖式倒计时计时器。我在javascript代码中预设了结束日期,然后我必须找出如何计算差异。我的代码工作正常,倒计时也很好,但我想看看是否有一种有效的方法可以做到这一点。我从书中得到了一天的计算结果,但我认为没有必要创建一个小时、分钟、秒变量并除以它

var day = 1000 * 60 * 60 *24;

// Initialize and set variables.
var startDate = new Date();
startDate.toTimeString();
var endDate = new Date('4 Oct 2014 12:30:00 UTC');
endDate.toTimeString();
var startHour = startDate.getHours();
var startMin = startDate.getMinutes();
var startSec = startDate.getSeconds();
var endHour = endDate.getHours();
var endMin = endDate.getMinutes();
var endSec = endDate.getSeconds();


// Make sure the start date comes first:
if (startDate < endDate) {

    // Get the interval:
    var diffDay = endDate - startDate;

    if (diffDay <= day) {
        intervalD = '1 day ';
    } else {
        intervalD = Math.round(diffDay/day) + ' days ';
    }

    if (endMin >= startMin){ // Make sure its counting down
        var diffHour = Math.abs(endHour - startHour); 
    } else { //Since start hour is greater, we now have to count down from 60.
        var diffHour = ((endHour - startHour) + 60);
    }


    if (endMin >= startMin){
        var diffMin = Math.abs(endMin - startMin);
    } else {
        var diffMin = ((endMin - startMin) + 60);
    }

    if (endSec >= startSec){
        var diffSec = Math.abs(endSec - startSec);
    } else {
        var diffSec = ((endSec - startSec) + 60);
    }
var日=1000*60*60*24;
//初始化并设置变量。
var startDate=新日期();
startDate.toTimeString();
var endDate=新日期(“2014年10月4日12:30:00 UTC”);
endDate.toTimeString();
var startHour=startDate.getHours();
var startMin=startDate.getMinutes();
var startSec=startDate.getSeconds();
var endHour=endDate.getHours();
var endMin=endDate.getMinutes();
var endSec=endDate.getSeconds();
//确保先到开始日期:
如果(开始日期<结束日期){
//获取时间间隔:
var diffDay=结束日期-开始日期;
如果(diffDay=startMin){//请确保其倒计时
var diffHour=Math.abs(endHour-startHour);
}否则{//由于开始时间更长,我们现在必须从60倒计时。
var diffHour=((结束小时-开始小时)+60);
}
如果(endMin>=startMin){
var diffMin=Math.abs(endMin-startMin);
}否则{
var diffMin=((endMin-startMin)+60);
}
如果(endSec>=startSec){
var diffSec=Math.abs(endSec-startSec);
}否则{
var diffSec=((endSec-startSec)+60);
}

请在您的文件中输入以下代码并应用所需日期。这对我来说很好。如果有任何问题,请告诉我

<body>
    <form name="count">
    <input type="text" size="69" name="count2">
    </form>
    <script type="text/javascript">

        //change the text below to reflect your own,
        var before = "Christmas!"
        var current = "Today is Christmas. Merry Christmas!"
        var montharray = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")

        function countdown(yr, m, d) {
            theyear = yr; themonth = m; theday = d
            var today = new Date()
            var todayy = today.getYear()
            if (todayy < 1000)
                todayy += 1900
            var todaym = today.getMonth()
            var todayd = today.getDate()
            var todayh = today.getHours()
            var todaymin = today.getMinutes()
            var todaysec = today.getSeconds()
            var todaystring = montharray[todaym] + " " + todayd + ", " + todayy + " " + todayh + ":" + todaymin + ":" + todaysec
            futurestring = montharray[m - 1] + " " + d + ", " + yr
            dd = Date.parse(futurestring) - Date.parse(todaystring)
            dday = Math.floor(dd / (60 * 60 * 1000 * 24) * 1)
            dhour = Math.floor((dd % (60 * 60 * 1000 * 24)) / (60 * 60 * 1000) * 1)
            dmin = Math.floor(((dd % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) / (60 * 1000) * 1)
            dsec = Math.floor((((dd % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) % (60 * 1000)) / 1000 * 1)
            if (dday == 0 && dhour == 0 && dmin == 0 && dsec == 1) {
                document.forms.count.count2.value = current
                return
            }
            else
                document.forms.count.count2.value = "Only " + dday + " days, " + dhour + " hours, " + dmin + " minutes, and " + dsec + " seconds left until " + before
            setTimeout("countdown(theyear,themonth,theday)", 1000)
        }

        //enter the Future count down date using the format year/month/day
        countdown(2016, 9, 24)
    </script>
</body>

//更改下面的文本以反映您自己的内容,
var=“圣诞节前!”
var current=“今天是圣诞节。圣诞快乐!”
var montharray=新数组(“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”)
功能倒计时(年、月、日){
年=年;月=米;日=天
var today=新日期()
var todayy=today.getYear()
如果(今天<1000)
今天+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+“+todayd+”,“+todaydy+”+“+todaydh+”:“+todaymin+”:“+todaysec
未来字符串=蒙塔雷[m-1]+“+d+”,“+yr”
dd=Date.parse(futurestring)-Date.parse(todaystring)
dday=数学楼层(dd/(60*60*1000*24)*1)
dhour=数学楼层((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=数学楼层((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=数学楼层(((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
如果(dday==0&&dhour==0&&dmin==0&&dsec==1){
document.forms.count.count2.value=当前
返回
}
其他的
document.forms.count.count2.value=“仅”+dday+“天”、+dhour+“小时”、+dmin+“分钟”和“+dsec+”秒,直到“+之前
设置超时(“倒计时(年、月、日)”,1000)
}
//使用年/月/日格式输入未来的倒计时日期
倒计时(2016年9月24日)

如果你想让别人查看你的代码,你应该询问Cool,谢谢你的提示!