JS中日期对象
2020-11-14 本文已影响0人
槑啊槑
一、创建日期对象
var date=new Date()
console.log(date); //Sat Nov 14 2020 20:15:16 GMT+0800 (中国标准时间)
console.log(date.toLocaleString()); // 2020/11/14 下午8:15:16
二、获取日期对象中的年月日、时分秒
var d=new Date();
/*年*/
console.log(d.getFullYear());//2020
console.log(d.getYear());//120 1900-2020的年份差。
/*月*/
console.log(d.getMonth());//10;获取的值范围是0~11,需要自己+1
/*日*/
console.log(d.getDate());//14
/*星期*/
console.log(d.getDay());//6 星期六
/*时*/
console.log(d.getHours()) //20
/*分*/
console.log(d.getMinutes()) //15
/*秒*/
console.log(d.getSeconds()) //16
/*获取从1970年1月1日开始的毫秒数*/
console.log(d.getTime());//1605359235789
var sec=parseInt(d.getTime()/1000);//秒
三、设置时间对象
/*1.直接设置日期*/
//1.1字符串形式--不会自动进位
var d=new Date('2021-1-1 12:34:56');// 通过 toLocaleString转换后(以下同样处理):2021/1/1 下午12:34:56
var d=new Date('2021/1/1 12:34:56');//2021/1/1 下午12:34:56
var d=new Date('2021.1.1 12:34:56');//2021/1/1 下午12:34:56
var d=new Date('2021年1月1 12:34:56');//Invalid Date 无效的日期
var d=new Date('2020.13.1 12:34:56');// Invalid Date
console.log(d.toLocaleString())
//1.2数字形式设置--自动进位
var d=new Date(2021,1,1,12,34,56);//月份自动+1 2021/2/1 下午12:34:56
var d=new Date(2020,14,1,12,34,56);//2021/3/1 下午12:34:56
console.log(d.toLocaleString());
/*2.利用方法设置日期--自动进位的*/
//setFullYear/setMonth/setDate/setDay
var d=new Date();
d.setFullYear(2021);
d.setMonth(1);
d.setDate(1);
console.log(d.toLocaleString()); //2021/2/1 下午9:04:56
四、倒计时效果
function djs() {
var currenttime = new Date();
var futuretime = new Date('2021-1-1 00:00:00');//未来的时间
var time = parseInt((futuretime - currenttime) / 1000);//剩下的时间--s
//天 时 分 秒
var day = parseInt(time / 86400);//天
var hour = parseInt(time % 86400 / 3600);//小时
var min = parseInt(time % 3600 / 60);//分
var sec = time % 60//秒
return '离2021年元旦还剩:'+day+'天'+hour+'时'+min+'分'+sec+'秒';
}
document.body.innerHTML=djs();
window.setInterval(function(){
document.body.innerHTML=djs();
},1000);
五、常用的组件moment.js
http://momentjs.cn/
若从后端获取到的日期对象是Sat Nov 14 2020 21:56:26 GMT+0800 (中国标准时间)
,想要展示的是2020-11-14 21:56:26
,可以直接通过monent.js格式化
let d=Sat Nov 14 2020 21:56:26 GMT+0800 (中国标准时间);
moment(d).format('YYYY-MM-DD HH:mm:ss');