JavaScript时间的处理

来源:互联网 发布:公司logo设计软件 编辑:程序博客网 时间:2024/06/07 14:19

JavaScript中的时间处理

Js获取当前日期时间及其它操作

var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1970-????)myDate.getMonth();       //获取当前月份(0-11,0代表1月)myDate.getDate();        //获取当前日(1-31)myDate.getDay();         //获取当前星期X(0-6,0代表星期天)myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)myDate.getHours();       //获取当前小时数(0-23)myDate.getMinutes();     //获取当前分钟数(0-59)myDate.getSeconds();     //获取当前秒数(0-59)myDate.getMilliseconds();    //获取当前毫秒数(0-999)myDate.toLocaleDateString();     //获取当前日期var mytime=myDate.toLocaleTimeString();     //获取当前时间myDate.toLocaleString( );        //获取日期与时间
  • 这些方法获取到的是数字,要显示的话要使用.toString()转换成字符串 。
  • 获取当前月份,需要myDate.getMonth() - 1

定义日期

Date 对象用于处理日期和时间。
可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象:

var myDate=new Date() 

注释:Date 对象自动使用当前的日期和时间作为其初始值。

操作日期

通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。
在下面的例子中,我们为日期对象设置了一个特定的日期 (2008 年 8 月 9 日):

var myDate=new Date()myDate.setFullYear(2008,7,9)

注意:表示月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。

在下面的例子中,我们将日期对象设置为 5 天后的日期:

var myDate=new Date()myDate.setDate(myDate.getDate()+5)

注意:如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。

比较日期(计算年龄)

let nowDate=new Date();//当前时间let myDate=new Date();myDate.setFullYear(myYear,myMonth-1,myDay);//出生时间let newDate=nowDate.getTime()-myDate.getTime();//时间差(单位:毫秒)// 向下取整  例如 10岁 20天 会计算成 10岁// 如果要向上取整 计算成11岁,把floor替换成 ceilvar age = Math.ceil(newDate / 1000 / 60 / 60 / 24 /365);if (isNaN(age)){    age = "";}return age;

计时器

var t;var seconds;/*计时器*/function timing(){    seconds = 0;    if (seconds > 21599) {      let time = '6小时,不想继续了gg'      return;    }    t = setTimeout(function(){        seconds=seconds+1;        timing();    },1000);    formatSeconds(seconds);}/*输出计时文字*/function formatSeconds(seconds){    var mins=0,hours=0,time='';    if(seconds<3600){      mins = parseInt(seconds /60)      seconds=seconds%60    }else{      mins=parseInt(seconds/60)      seconds=seconds%60      hours=parseInt(mins/60)      mins=mins%60    }    time=formatTime(hours)+':'+formatTime(mins)+':'+formatTime(seconds);    return time;}/*数字是个位,前面补足0*/function formatTime(num){    if(num<10)    return '0'+num    else    return num+''}/* 停止计时 */function stopCount(){    clearTimeout(t);    console.log('结束游戏,游戏时长为:',seconds,'秒');}

倒计时(目前能用,还需改进)

/*数字是个位,前面补足0*/function formatTime(num){    if(num<10)    return '0'+num    else    return num+''}var lastSeconds=$('#seconds').val();//获取到结束日期(这里单位是秒)var timeAdd=0;var interval=1000;function leftTimer(){    timeAdd=timeAdd+1;    var leftTime=lastSeconds - timeAdd;//减少后的时间    if(leftTime>=0){            var days=parseInt(leftTime/60/60/24,10);//天            var hours=parseInt(leftTime/60/60%24,10);//小时            var minutes =parseInt(leftTime/60%60,10);//分钟            var seconds =parseInt(leftTime%60,10);//秒            days = checkTime(days);            hours = checkTime(hours);            minutes = checkTime(minutes);            seconds = checkTime(seconds);            $('#timer').text(days+"天" + hours+"小时" + minutes+"分"+seconds+"秒");        }else{        //如果时间到期,do something...            $('#btn-refund').attr('disabled',"true").css({'pointer-events':'none','background-color':'#dddddd'});//添加disabled属性,禁用按钮            return false;        }}window.setInterval(function(){leftTimer();}, interval);
原创粉丝点击