JS日期格式转换和倒计时显示

来源:互联网 发布:c语言 if else用法 编辑:程序博客网 时间:2024/06/06 07:13

JS日期格式转换

显示效果:5月20日 18:00

第一步:在script中增加基础方法

Date.prototype.Format = function (fmt) {        var o = {        "M+": this.getMonth() + 1, //月份        "d+": this.getDate(), //日        "h+": this.getHours(), //小时        "m+": this.getMinutes(), //分        "s+": this.getSeconds(), //秒        "q+": Math.floor((this.getMonth() + 3) / 3), //季度        "S": this.getMilliseconds() //毫秒        };        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));        for (var k in o)        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));        return fmt;}

该基础方法需定义在最前,否则将调用无效

第二步:写一个自己的方法处理数据

function getBeginTime(time){    var time = time.replace(/-/g,"/");    var beginTime= new Date(time);    var begin = beginTime.Format("MM年dd日 hh:mm");    return begin;}

方法中,若传入参数time的格式为:2017-01-01 00:00:00,则需要time.replace(/-/g,”/”);将日期格式化为毫秒模式,若time格式本身为毫秒,则无需此方法转换。

beginTime.Format(“MM年dd日 hh:mm”)即为调用之前的基础方法,实现日期转换,format里面的字符串可以一般Java方法中参数的来,例如“yyyy年MM月dd日 hh:mm:ss” 。

JS倒计时

显示效果:18:09:08

第一步:在script中增加基础方法

function cutTime(time,id){    var time = time.replace(/-/g,"/");    var EndTime= new Date(time);    var NowTime = new Date();    var t =EndTime.getTime() - NowTime.getTime();    var d=Math.floor(t/1000/60/60/24);    var h=Math.floor(t/1000/60/60%24);    var m=Math.floor(t/1000/60%60);    var s=Math.floor(t/1000%60);    h = checkTime(h);    m = checkTime(m);    s = checkTime(s);    $("#th"+id).html(h);    $("#tm"+id).html(m);    $("#ts"+id).html(s);}

第二步:对倒计时数字处理,处理时间为个位数的情况,补零操作

function checkTime(i){    if(i<10)     {         i = "0" + i;     }     return i; }

第三步:调用JS延时方法,每隔一秒调用本方法

setInterval("cutTime('2017-12-12 10:00:00',1)",1000);

这样就完美实现了倒计时的显示了~

0 0