JS日期,时间相关

获取当前时间戳

var timestamp = Date.parse(new Date());
console.log(timestamp)

根据两个时间戳,计算相隔多少天

var start=1491789600000;//2017-4-10 10:00
var end=1494381600000;//2017-5-10 10:00
var utc = end - start;
utc/(24*60*60*1000)// 天
utc/(60*60*1000);//小时
utc/(60*1000); // 分

计算两个日期之间相隔多少天,分,秒

dateDiff(d1,d2){
	d1 = new Date(d1.replace(/-/g,'/'));
	d2 = new Date(d2.replace(/-/g,'/'));
	var obj={},M1=d1.getMonth(),D1=d1.getDate(),M2=d2.getMonth(),D2=d2.getDate();
	obj.Y=d2.getFullYear() - d1.getFullYear() + (M1*100+D1 > M2*100+D2 ? -1 : 0);
	obj.M=(obj.Y > 0 ? obj.Y * 12 : 12) + M2 - M1 + (D1 > D2 ? -1 : 0);
	obj.s=Math.floor((d2-d1)/1000);//差几秒
	obj.m=Math.floor(obj.s/60);//差几分钟
	obj.h=Math.floor(obj.m/60);//差几小时
	obj.D=Math.floor(obj.h/24);//差几天
	return obj
}
console.log(this.dateDiff('2021-05-01','2020-05-10'))

获取当前日期

var start = new Date();
var year = start.getFullYear(); //获取当前年
var mon = start.getMonth() + 1; //获取当前月
var date = start.getDate(); //获取当前日
var h= start.getHours(); //获取当前时
var s = start.getMinutes(); //获取当前分
console.log(year + "年" + mon + "月" + date + "日" + h + "时" + s + "分")

时间戳转日期

/** 
  * 时间戳转化为年 月 日 时 分 秒 
  * number: 传入时间戳 
  * format:返回格式,支持自定义,但参数必须与formateArr里保持一致 
  */  
 function formatTime(number,format) {  
   
   var formateArr  = ['Y','M','D','h','m','s'];  
   var returnArr   = [];  
   
   var date = new Date(number * 1000);  
   returnArr.push(date.getFullYear());  
   returnArr.push(formatNumber(date.getMonth() + 1));  
   returnArr.push(formatNumber(date.getDate()));  
   
   returnArr.push(formatNumber(date.getHours()));  
   returnArr.push(formatNumber(date.getMinutes()));  
   returnArr.push(formatNumber(date.getSeconds()));  
   
   for (var i in returnArr)  
   {  
     format = format.replace(formateArr[i], returnArr[i]);  
   }  
   return format;  
 } 
 
 //数据转化  
 function formatNumber(n) {  
   n = n.toString()  
   return n[1] ? n : '0' + n  
 }  
 
 // var sjc = 1488481383;//时间戳
 // console.log(formatTime(sjc,'Y/M/D h:m:s'));// 转换为日期:2017/03/03 03:03:03
 // console.log(formatTime(sjc, 'h:m'));// 转换为日期:03:03

获取七天前/七天后的日期

function get_date(time){
    var date1 = new Date(),
    time1 = date1.getFullYear()+"-"+(date1.getMonth()+1)+"-"+date1.getDate();//time1表示当前时间
    var date2 = new Date(date1);
    date2.setDate(date1.getDate()+time);
    var time2 = date2.getFullYear()+"-"+(date2.getMonth()+1)+"-"+date2.getDate();
    return time2;
}
console.log(get_date(7))//七天后
console.log(get_date(-7))//七天前

年月日转标准时间

new Date('2021-04-28 16:00').getTime()

标准时间转时间戳

let time = new Date(time);//time 为中国标准时间
console.log(time.getTime() / 1000)//得到时间戳

获取某个时间戳,两个小时前和两个小时后的时间

let now_timestamp = Date.parse(new Date())/1000; //当前时间
let before_time = ( now_timestamp - 2 * 60 * 60);//两个小时前
let after_time = ( now_timestamp + 2 * 60 * 60);//两个小时后
console.log('当前时间戳:'+now_timestamp);//2021-05-15 12:50:00
console.log('两个小时前:'+before_time);//2021-05-15 10:50:00
console.log('两个小时后:'+after_time);//2021-05-15 14:50:00

获取当前日期是星期几

let start = new Date();
this.year = start.getFullYear(); //年
this.mon = start.getMonth() + 1; //月
this.day = start.getDate(); //日
if(start.getDay() == 0){
	this.week = '星期日';
}else if(start.getDay() == 1){
	this.week = '星期一';
}else if(start.getDay() == 2){
	this.week = '星期二';
}else if(start.getDay() == 3){
	this.week = '星期三';
}else if(start.getDay() == 4){
	this.week = '星期四';
}else if(start.getDay() == 5){
	this.week = '星期五';
}else if(start.getDay() == 6){
	this.week = '星期六';
}

时间判断,当前是上午还是下午

var date = new Date();
var hour = date.getHours();
if (hour < 10) {
	this.showTime = "上午";
} else if (hour < 12) {
	this.showTime = "中午";
} else if (hour < 18) {
	this.showTime = "下午";
} else {
	this.showTime = "晚上";
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值