uni-app时间戳

const happenTime = (num) => { // 时间戳转换成 “yyyy-MM-dd hh:mm:ss”格式
	let date = new Date(num);
	//时间戳为10位需*1000,时间戳为13位的话不需乘1000
	//年
	let year = date.getFullYear();

	// 月
	let month = date.getMonth() + 1;
	month = month < 10 ? ('0' + month) : month; //月补0

	//日
	let day = date.getDate();
	day = day < 10 ? ('0' + day) : day; //天补0

	//时
	let hours = date.getHours();
	hours = hours < 10 ? ('0' + hours) : hours; //小时补0

	// 分
	let minutes = date.getMinutes();
	minutes = minutes < 10 ? ('0' + minutes) : minutes; //分钟补0

	// 秒
	let seconds = date.getSeconds();
	seconds = seconds < 10 ? ('0' + seconds) : seconds; //秒补0

	// 星期
	const weekArr = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
	let weekDay = weekArr[date.getDay()];
	let weekNum = date.getDay();
	return `${year}-${month}-${day} ${hours}:${minutes}:${seconds} ${weekDay}`
}

const happenTimeJson = (num) => { // 时间戳转换成 对象格式
	/**
	 * day: number>10 ? number : "'0'+num"
	 * hours: number>10 ? number : "'0'+num"
	 * minutes: number>10 ? number : "'0'+num"
	 * month: number>10 ? number : "'0'+num"
	 * seconds: number>10 ? number : "'0'+num"
	 * weekDay: '' // 星期一 ~ 星期日
	 * weekNum:number 0 ~ 6
	 * year:number
	 */
	let date = new Date(num);
	//时间戳为10位需*1000,时间戳为13位的话不需乘1000
	//年
	let year = date.getFullYear();

	// 月
	let month = date.getMonth() + 1;
	month = month < 10 ? ('0' + month) : month; //月补0

	//日
	let day = date.getDate();
	day = day < 10 ? ('0' + day) : day; //天补0

	//时
	let hours = date.getHours();
	hours = hours < 10 ? ('0' + hours) : hours; //小时补0
	
	// 分
	let minutes = date.getMinutes();
	minutes = minutes < 10 ? ('0' + minutes) : minutes; //分钟补0

	// 秒
	let seconds = date.getSeconds();
	seconds = seconds < 10 ? ('0' + seconds) : seconds; //秒补0

	// 星期
	const weekArr = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
	let weekDay = weekArr[date.getDay()];
	let weekNum = date.getDay();
	return {
		year,
		month,
		day,
		hours,
		minutes,
		seconds,
		weekDay,
		weekNum,
	}
}

const timeProcessing = (time) => { // “yyyy-MM-dd hh:mm:ss”转换成时间戳
/**
 * 未接收到参数时@return 当前时间
 */ 
	let Time = time ? new Date(time) : new Date(); 

	// console.log(Time) //Fri Nov 19 2021 01:30:00 GMT+0800 (中国标准时间)
	let timestemp = Time.getTime();
	// console.log(timestemp)
	//1637256600000 
	return timestemp
}

//时间是否在本周
const isThisWeek = (time) => {
	// 当前时间 年月日
	const nowTime = happenTimeJson(timeProcessing())
	let timestamp = timeProcessing(`${nowTime.year}-${nowTime.month}-${nowTime.day} 00:00:00`);
	//本周周日的的时间
	/**
	 * (serverDate.getDay() === 0 ? 7 :serverDate.getDay() )
	 * 因为星期天为0 所以需要装换为7
	 * 用8减,是因为这周结束要到下周一的0点
	 */
	let sundayTiem = timestamp + ((8 - (nowTime.weekNum === 0 ? 7 : nowTime.weekNum)) * 24 * 60 * 60 * 1000)
	// 本周周一的时间
	let mondayTime = timestamp - (((nowTime.weekNum === 0 ? 7 : nowTime.weekNum) - 1) * 24 * 60 * 60 * 1000)
	// 接收参数时间
	let currentData = timeProcessing(time);
	if (currentData > mondayTime && currentData < sundayTiem) {
		/**
		 * isweek=true是本周  false不是本周
		 */
		return {
			isweek: true,
			date: happenTimeJson(currentData)
		}
	} else {
		return {
			isweek: false,
			date: happenTimeJson(currentData)
		}
	}
}

//时间是否在今天
const isThisToday = (time) => {
	// 当前时间
	let timestamp = timeProcessing();
	let serverDate = happenTimeJson(timestamp);
	// 今天开始时间
	let startTiem =timeProcessing(`${serverDate.year}-${serverDate.month}-${serverDate.day-1} 00:00:00`);
	// 今天结束时间
	let endTime = timeProcessing(`${serverDate.year}-${serverDate.month}-${serverDate.day+1} 00:00:00`);
	// 接收参数时间
	let currentData = timeProcessing(time);
	
	if (currentData > startTiem && currentData < endTime) {
		/**
		 * isweek=true是今天  false不是今天
		 */
		return {
			isweek: true,
			date: happenTimeJson(currentData)
		}
	} else {
		return {
			isweek: false,
			date: happenTimeJson(currentData)
		}
	}
}

export default {
	timeProcessing,
	happenTimeJson,
	happenTime,
	isThisWeek,
	isThisToday
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值