uniapp 获取当天时间0点与23点59分59秒的具体时间并转化为时区格式

时间的各种要求

补充说明:以下方法浏览器端没有问题,移动端会报错

报错信息为:日期格式不正确
解决方法如下:

startDate 就是某一天的年月日格式
startDate.setHours(0);
startDate.setMinutes(0);
startDate.setSeconds(0);
此处的startDate打印出来的结果就是:
endDate 就是某一天的年月日格式
endDate.setHours(23);
endDate.setMinutes(59);
endDate.setSeconds(59);

此处最终返回的日期格式是 中国标准时间的格式。这个格式也是带有时区的格式,与下方的格式(基本相同吧~~~~)
在这里插入图片描述

使用场景——获取当天凌晨的时间

在这里插入图片描述
new Date():获取当前的时间,标准时间格式
new Date().toLocaleDateString():获取当天的年月日格式
new Date(new Date().toLocaleDateString()).getTime():获取当天凌晨的毫秒数
new Date(new Date(new Date().toLocaleDateString()).getTime()):获取当天凌晨的中国标准时间
new Date(new Date(new Date().toLocaleDateString()).getTime()).toISOString():获取当天凌晨时间的时区格式

使用场景——获取当天23:59:59的时间

在这里插入图片描述

new Date():获取当前的时间,标准时间格式
new Date().toLocaleDateString():获取当天的年月日格式
new Date(new Date().toLocaleDateString()).getTime():获取当天凌晨的毫秒数
new Date(new Date(new Date().toLocaleDateString()).getTime()):获取当天凌晨的中国标准时间
new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60*1000-1):获取当天23:59:59的中国标准时间
new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60*1000-1).toISOString():获取当天23:59:59的时区格式

使用场景——获取本周的时间区间

getWeek() {  
    //按周日为一周的最后一天计算  
    var date = new Date();  
    //今天是这周的第几天  
    var today = date.getDay();  
    //上周日距离今天的天数(负数表示)  
    var stepSunDay = -today + 1;  
    // 如果今天是周日  
    if (today == 0) {  
        stepSunDay = -7;  
    }  
    // 周一距离今天的天数(负数表示)  
    var stepMonday = 7 - today;  
    var time = date.getTime();  
    var monday = new Date(time + stepSunDay * 24 * 3600 * 1000);  
    var sunday = new Date(time + stepMonday * 24 * 3600 * 1000);  
    //本周一的日期 (起始日期)  
    var startDate = this.transferDate(monday); // 日期变换  
    //本周日的日期 (结束日期)  
    var endDate = this.transferDate(sunday); // 日期变换  
	console.log("本周日期",startDate,endDate);
	this.date = startDate;
	this.dateEnd = endDate;
	this.startTime = new Date(this.date + " 00:00:00").toISOString();
	this.endTime = new Date((this.dateEnd +" 23:59:59")).toISOString();
}

此处的this.startTime 与this.endTime就是本周的时间区间。

使用场景——获取本月的时间区间

getMonth() {  
    // 获取当前月的第一天  
    var start = new Date();  
    start.setDate(1);  
    // 获取当前月的最后一天  
    var date = new Date();  
    var currentMonth = date.getMonth();  
    var nextMonth = ++currentMonth;  
    var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);  
    var oneDay = 1000 * 60 * 60 * 24;  
    var end = new Date(nextMonthFirstDay - oneDay);  
    var startDate = this.transferDate(start); // 日期变换  
    var endDate = this.transferDate(end); // 日期变换  
	console.log("本月日期",startDate,endDate);
	this.date = startDate;
	this.dateEnd = endDate;
	this.startTime = new Date(this.date + " 00:00:00").toISOString();
	this.endTime = new Date((this.dateEnd +" 23:59:59")).toISOString();
}

使用场景——获取标准时间23:59:59的时区时间

new Date((标准时间格式:2020/08/30 +" 23:59:59")).toISOString()
注意23:59:59前面有个空格。

transferDate的方法如下:

transferDate(date) {
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var day = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (day >= 0 && day <= 9) {
        day = "0" + day;
    }
    var dateString = year + '-' + month + '-' + day;
    return dateString;
},
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶浩成520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值