倒计时

"空闲写一下倒计时"

Posted by ZWW on December 20, 2016

** 难道这么基础的东西不多练一下,插件用多了只能是累赘 **

    function remainTime(year, month, day) {
        var date = new Date(),
            newDate = new Date(year, month - 1, day),
            left = newDate.getTime() - date.getTime() //毫秒
        ;
        if (left >= 0) {
            var leftsecond = parseInt(left / 1000) //秒
                ,
                leftday = Math.floor(leftsecond / (24 * 60 * 60)) //天
                ,
                leftour = Math.floor((leftsecond - leftday * 60 * 60 * 24) / (60 * 60)) //小时
                ,
                leftmin = Math.floor((leftsecond - leftday * 60 * 60 * 24 - leftour * (60 * 60)) / 60) //分
                ,
                leftsc = Math.floor(leftsecond - leftday * 60 * 60 * 24 - leftour * 60 * 60 - leftmin * 60)
            console.log('剩余:' + leftday + '天' + leftour + '小时' + leftmin + '分' + leftsc + '秒');
        } else {
            console.log("输入正确的时间");
            clearInterval(timer);
            return;
        }
        //秒
    }
    var timer = setInterval(function () {
        remainTime(2017, 1, 0)
    }, 1000)

本来准备封装一下,没时间折腾。只是练练,写成一个函数足以。如果作为一个工程师,思路永远活在找插件里,那还要脑子干嘛呢?

function siteTime(){
window.setTimeout("siteTime()", 1000);
var seconds = 1000
var minutes = seconds * 60
var hours = minutes * 60
var days = hours * 24
var years = days * 365 


var today = new Date()
var todayYear = today.getFullYear()
var todayMonth = today.getMonth()
var todayDate = today.getDate()
var todayHour = today.getHours()
var todayMinute = today.getMinutes()
var todaySecond = today.getSeconds()

/* Date.UTC() -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳) 
year - 作为date对象的年份,为4位年份值
month - 0-11之间的整数,做为date对象的月份
day - 1-31之间的整数,做为date对象的天数
hours - 0(午夜24点)-23之间的整数,做为date对象的小时数
minutes - 0-59之间的整数,做为date对象的分钟数
seconds - 0-59之间的整数,做为date对象的秒数
microseconds - 0-999之间的整数,做为date对象的毫秒数 */
var t1 = Date.UTC(2015,7,29,0,0,00)
var t2 = Date.UTC(todayYear,todayMonth,todayDate,todayHour,todayMinute,todaySecond)
var diff = t2-t1

var diffYears = Math.floor(diff/years)
var diffDays = Math.floor((diff/days)-diffYears*365)
var diffHours = Math.floor((diff-(diffYears*365+diffDays)*days)/hours)
var diffMinutes = Math.floor((diff-(diffYears*365+diffDays)*days-diffHours*hours)/minutes)
var diffSeconds = Math.floor((diff-(diffYears*365+diffDays)*days-diffHours*hours-diffMinutes*minutes)/seconds)
document.getElementById("sitetime").innerHTML=" 倒计时:"+diffYears+" 年 "+diffDays+" 天 "+diffHours+" 小时 "+diffMinutes+" 分钟 "+diffSeconds+" 秒"
}
siteTime()

十年饮冰,难凉热血