javascript中的Date属性及倒计时的完成

在日常开发过程中,我们会经常使用到Date属性来完成倒计时等一些需求。那么我们就来看一下这个Date。
要创建一个日期对象,使用new操作符和Date构造函数即可。

1. 没有参数时返回当前的系统时间

var newDate = new Date(); 
console.log(newDate) //new Date()没有参数时返回系统当前的时间

2. new Date()有参数时,返回我们设定的参数,参数有两种写法
数字型:2020,2,10 或者是字符串:"2020-2-10"

var newDate = new Date(2020,2,10);
console.log(newDate) 
var newDate2 = new Date("2020-2-17 8:8:8");
console.log(newDate2) 

3. 日期/时间的组件方法

var newDate = new Date();
console.log(newDate);
console.log(newDate.getFullYear());//得到整年
console.log(newDate.getMonth());//得到整月
console.log(newDate.getDate());//得到日
console.log(newDate.getDay());//得到星期 周日0-周六6
console.log(newDate.getHours());//得到小时
console.log(newDate.getMinutes());//得到分
console.log(newDate.getSeconds());//得到秒

4. 写一个今天是2020年2月10日星期一

var newDate = new Date();
var year = newDate.getFullYear();
var month = newDate.getMonth()+1;//月份是从0-11,所以应该+1
var Date = newDate.getDate();
var day = newDate.getDay();
var arr = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]//星期是从0-6,所以采用数组的方式
console.log("今天是"+year+"年"+month+"月"+Date+"日"+arr[day])

5. 格式化时、分、秒

var newDate = new Date();
console.log(newDate.getHours());    //得到当前时间的小时数;
console.log(newDate.getMinutes());  //得到分;
console.log(newDate.getSeconds());  //得到秒

6. 封装一个函数,返回当前时间 如 08:08:08
需求分析:这里需要用到上述方法来获取到当前时间的时、分、秒,但是当时、分、秒为单数时,这里会返回单数的时,分,秒。例如: 8:8:8。这时使用我们的三元运算符就能完成。

function getTime(){
    var time = new Date();
    var h = time.getHours();
    h = h<10? "0"+h : h;
    var m = time.getMinutes();
    m = m<10? "0"+m : m;
    var s = time.getSeconds();
    s = s<10? "0"+s : s;
    return h+":"+m+":"+s
}
console.log(getTime())

7. 获取当前的毫秒数(时间戳)

// 1.通过valueOf()   或者getTime()
var date = new Date();
console.log(date.valueOf());
console.log(date.getTime());

// // 2.简单写法  + new Date()  不需要var date = new Date();
var date1 =  + new Date(); 
console.log(date1);

// //3.h5新增的方法  获取当前时间至1970-1-1的毫秒数   不需要var date = new Date();
console.log(Date.now());

8. 封装一个倒计时函数
需求分析,完成一个倒计时需要两个时间戳。一个是当前时间的时间戳,另一个是目标时间的时间戳,通过两个时间戳的差值来返回倒计时的时分秒。然后再利用setInteval定时器来完成实时刷新。

function cutDown(time){
    var nowTime = +new Date();
    var inputTime = +new Date(time);
    var times = (inputTime-nowTime)/1000;
    var d = parseInt(times/60/60/24);
    d = d<10? "0"+d : d;
    var h = parseInt(times/60/60 %24);
    h = h<10? "0"+h : h;
    var m = parseInt(times/60 %60);
    m = m<10? "0"+m : m;
    var s = parseInt(times %60);
    s = s<10? "0"+s : s;
    return d+"天"+h+"时"+m+"分"+s+"秒"
}

var p = document.getElementById("time");
    
setInterval(function(){

    p.innerHTML = cutDown("2020-2-10 11:20:00");
},1000);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值