2021-08-11计算当前日期星座 计算指定时间与当前的时间差 获取聊天时间

计算当前日期星座

getHoroscope(date) {
	  let c = ['摩羯','水瓶','双鱼','白羊','金牛','双子','巨蟹','狮子','处女','天秤','天蝎','射手','摩羯']
	  date=new Date(date);
	  let month = date.getMonth() + 1;
	  let day = date.getDate();
	  let startMonth = month - (day - 14 < '865778999988'.charAt(month));
	  return c[startMonth]+'座';
	}

计算指定时间与当前的时间差

sumAge(data){
		let dateBegin = new Date(data.replace(/-/g, "/"));
		let dateEnd = new Date();//获取当前时间
		let dateDiff = dateEnd.getTime() - dateBegin.getTime();//时间差的毫秒数
		let dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算出相差天数
		let leave1=dateDiff%(24*3600*1000)    //计算天数后剩余的毫秒数
		let hours=Math.floor(leave1/(3600*1000))//计算出小时数
		//计算相差分钟数
		let leave2=leave1%(3600*1000)    //计算小时数后剩余的毫秒数
		let minutes=Math.floor(leave2/(60*1000))//计算相差分钟数
		//计算相差秒数
		let leave3=leave2%(60*1000)      //计算分钟数后剩余的毫秒数
		let seconds=Math.round(leave3/1000)
		return dayDiff+"天 "+hours+"小时 "+minutes+"分钟 "+seconds+"秒";
	},
	//调用:
	sumAge('2021-5-7 10:45:23')

获取聊天时间(相差300s内的信息不会显示时间)

getChatTime(v1,v2){
		v1=v1.toString().length<13 ? v1*1000 : v1;
		v2=v2.toString().length<13 ? v2*1000 : v2;
		if(((parseInt(v1)-parseInt(v2))/1000) > 300){
			return this.gettime(v1);
		}
	},

人性化时间格式

gettime(shorttime){
		shorttime=shorttime.toString().length<13 ? shorttime*1000 : shorttime;
		let now = (new Date()).getTime();
		let cha = (now-parseInt(shorttime))/1000;
		
		if (cha < 43200) {
			// 当天
			return this.dateFormat(new Date(shorttime),"{A} {t}:{ii}");
		} else if(cha < 518400){
			// 隔天 显示日期+时间
			return this.dateFormat(new Date(shorttime),"{Mon}月{DD}日 {A} {t}:{ii}");
		} else {
			// 隔年 显示完整日期+时间
			return this.dateFormat(new Date(shorttime),"{Y}-{MM}-{DD} {A} {t}:{ii}");
		}
	},
	parseNumber(num) {
		 return num < 10 ? "0" + num : num;
	},
	dateFormat(date, formatStr) {
	 let dateObj = {},
  	 rStr = /\{([^}]+)\}/,
  	 mons = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'];
  
 	 dateObj["Y"] = date.getFullYear();
	 dateObj["M"] = date.getMonth() + 1;
	 dateObj["MM"] = this.parseNumber(dateObj["M"]);
	 dateObj["Mon"] = mons[dateObj['M'] - 1];
	 dateObj["D"] = date.getDate();
	 dateObj["DD"] = this.parseNumber(dateObj["D"]);
	 dateObj["h"] = date.getHours();
	 dateObj["hh"] = this.parseNumber(dateObj["h"]);
	 dateObj["t"] = dateObj["h"] > 12 ? dateObj["h"] - 12 : dateObj["h"];
	 dateObj["tt"] = this.parseNumber(dateObj["t"]);
	 dateObj["A"] = dateObj["h"] > 12 ? '下午' : '上午';
	 dateObj["i"] = date.getMinutes();
 	 dateObj["ii"] = this.parseNumber(dateObj["i"]);
 	 dateObj["s"] = date.getSeconds();
	 dateObj["ss"] = this.parseNumber(dateObj["s"]);
 
 while(rStr.test(formatStr)) {
  formatStr = formatStr.replace(rStr, dateObj[RegExp.$1]);
 }
 return formatStr;
}

获取年龄

getAgeByBirthday(data){
		let birthday=new Date(data.replace(/-/g, "\/")); 
		let d=new Date(); 
		return d.getFullYear()-birthday.getFullYear()-((d.getMonth()<birthday.getMonth()|| d.getMonth()==birthday.getMonth() && d.getDate()<birthday.getDate())?1:0);
	}

原创技术作品2021/8/11 郑州小红帽信息科技有限公司

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值