代码改变世界

关于日期转换

2018-08-21 17:00  孤独大兔子  阅读(286)  评论(0编辑  收藏  举报

先记几个函数

    Date()  //返回当前的日期和时间
    getDate()  //查看Date对象并返回日期(1-31)
    getDay()  //返回星期几(0-6)
    getHours()  //返回小时数(0-23)
    getMinutes()  //返回分钟数(0-59)
    getMonth()  //返回月份(从0开始,+1)
    getSeconds()  //返回秒数
    getTime()  //返回毫秒数
    getYear()  //返回年份 获得年最好用
    getFullYear()  //完整格式 如2018

所有的都围绕这new Date()来操作,如果设置时间可以new Date("2018/8/8,12:20:20")

如果做倒计时呢,首先知道当前的时间new Date(),又知道结束时间new Date("2018,8,8"),然后用结束时间减去当前时间,当然最好先用上面说的方法getTime()转成好描述再相减。

毫秒转成天,我们都知道, 1天=24小时,1小时=60分,1分=60秒,1秒=1000毫秒,那现在知道了毫秒数,就用 毫秒/一天中总共的毫秒数 ,就等于毫秒数/24*60*60*1000,得到了一个小数,转成整数需要用Math.ceil()向上取整,这样就得到天了。

一个简单的倒计时其实也就同上面所说的类似,主要把相差的毫秒换算成了时分秒:

function startTime(){
    var date = new Date();
    var endDate = new Date("2018/8/21,16:50:00");
    var cha = parseInt((endDate.getTime()-date.getTime()) / 1000);  //
    var d = parseInt(cha/(24*60*60));
    var h = parseInt(cha/(60*60)%24);
    var m = parseInt(cha/60%60);
    var s = parseInt(cha%60);
    if(cha <= 0) {
        document.getElementById('txt').innerHTML="0天0小时0分钟0秒";
    }else {
        document.getElementById('txt').innerHTML=d+"天"+h+"小时"+m+"分钟"+s+"秒";
    }
    setTimeout('startTime()',500);
}
startTime();

另外需要注意的是getDay();返回的是0-6,需要自己创建一个数组进行转换成星期几星期几。