【js】--获取开始时间 和 截止时间中间的所有时间
1.工具函数 将【中国标准时间】 转换成 【年月日 时分秒】
/*
* timeStamp: 标准时间 例: 'Tue Sep 22 2020 00:00:00 GMT+0800 (中国标准时间)'
* fmt: 时间格式
*/
function dealFormData(timeStamp, fmt = 'Y-m-d h:00:00') {
const date = new Date(timeStamp);
const tmpYear = date.getFullYear();
const tmpMon = (date.getMonth() + 1) > 9 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1);
const tmpDay = (date.getDate() > 9) ? date.getDate() : '0' + (date.getDate());
const tmpHour = (date.getHours()) > 9 ? date.getHours() : '0' + (date.getHours());
const tmpMinutes = (date.getMinutes()) > 9 ? date.getMinutes() : '0' + (date.getMinutes());
const tmpSeconds = (date.getSeconds()) > 9 ? date.getSeconds() : '0' + (date.getSeconds());
let finalData = '';
switch (fmt) {
case 'Y-m-d h:m:s':
finalData = tmpYear + '-' + tmpMon + '-' + tmpDay + ' ' + tmpHour + ':' + tmpMinutes + ':' + tmpSeconds;
break;
case 'Y-m-d h:00:00':
finalData = tmpYear + '-' + tmpMon + '-' + tmpDay + ' ' + tmpHour + ':00:00';
break;
case 'Y-m-d':
finalData = tmpYear + '-' + tmpMon + '-' + tmpDay;
break;
default:
//
}
return finalData;
}
2.判断函数,是否是【中国标准时间】 用到上面的 dealFormDate 方法
// 判断是否 中国标准时间
isChinaStandardTime(time, format) {
let temp = '';
// 判断 时间 是否是 时间字符串, 还是中国标准时间,是中国标准时间 就转换
if (time.indexOf('中国标准时间') !== -1) {
temp = dealFormData(time, format);
return temp;
}
return time;
},
3.得到中间的时间方法
// 得到中间的时间
/*
* type: 类型 'hour', 'day'
* startTime: 开始时间 例:'2020-09-22 00:00:00'
* endTime: 结束时间 例:'2020-09-23 23:00:00'
*/
getMiddleData(type, startTime, endTime) {
const dealTimeArr = [];
let dealStartTime = new Date(startTime).getTime();
const dealEndTime = new Date(endTime).getTime();
if (type === 'hour') {
while (true) {
if (dealStartTime <= dealEndTime) {
const itemTime = this.isChinaStandardTime((new Date(dealStartTime)).toString(), 'Y-m-d h:00:00');
dealTimeArr.push(itemTime);
// debugger;
dealStartTime += 1 * 60 * 60 * 1000;
} else {
break;
}
}
} else if (type === 'day') {
while (true) {
if (dealStartTime <= dealEndTime) {
const itemTime = this.isChinaStandardTime((new Date(dealStartTime)).toString(), 'Y-m-d');
dealTimeArr.push(itemTime);
// debugger;
dealStartTime += 24 * 60 * 60 * 1000;
} else {
break;
}
}
}
console.log(dealTimeArr);
},
4.调用
// 选完 小时数据的结束时间 时 调用接口
/*
* t: 中国标准时间,这是 element-ui 时间选择器的change方法,默认传进来的值
*/
queryHourData(t) {
this.choseTimeHour.startTime = this.isChinaStandardTime(this.choseTimeHour.startTime.toString(), 'Y-m-d h:00:00');
this.choseTimeHour.endTime = this.isChinaStandardTime(t.toString(), 'Y-m-d h:00:00');
console.log(this.choseTimeHour);
console.log('处理时间');
this.getMiddleData('hour', this.choseTimeHour.startTime, this.choseTimeHour.endTime);
},
element-ui 时间控件
<el-date-picker style="width:192px;" popper-class="dateRangeStyle"
v-model="choseTimeHour.endTime"
type="datetime" @change= "queryHourData"
placeholder="选择日期">
</el-date-picker> 用到的变量:
choseTimeHour: {
startTime: '',
endTime: '',
}
该方法是在使用 Vue框架的时候,用到的,为了便于查看,就写成了 传统js的样式,调用的时候,还是用 vue 的形式调用
【js】--获取开始时间 和 截止时间中间的所有时间的更多相关文章
- js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)
js 获取开始时间和结束时间相隔小时及分钟(时间戳操作) 场景描述:获取开始时间和结束时间相隔小时及分钟 实例: TimeOnConfirm(curDate) { if(this.pickernum ...
- JS获取当前时间和日期
当前时间和日期 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1 ...
- js获取当前系统时间
Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...
- Js获取当前日期时间及其它操作
Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...
- js 获取当前的时间
第一个小程序,用js获取当前的时间,,比较特殊的是 月是从0开始算的,显示的时候要加1,获取日用getDate(),获取周 getDay(), 直接上代码 <!DOCTYPE html> ...
- js获取当前时间显示在页面上
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- js 获取当前系统时间
Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年 ...
- js 获取系统当前时间
JS获取当前的日期和时间的方法:var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年 ...
- js获取当前时间&js 页面时钟
js获取当前时间 //获取当前时间,格式YYYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = ...
随机推荐
- Docker从容器拷贝文件到宿主机或从宿主机拷贝文件到容器
1.从容器里面拷文件到宿主机? 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat, ...
- Token验证详解
为什么使用Token验证: 在Web领域基于Token的身份验证随处可见.在大多数使用Web API的互联网公司中,tokens 是多用户下处理认证的最佳方式. 以下几点特性会让你在程序中使用基于To ...
- 前端开发入门到进阶第三集【获取cookie然后单点登录后重定向】
/* var token ;//https://blog.csdn.net/qq_29207823/article/details/81745757 if( $.cookie('BBK_TOKEN') ...
- python基础之while语句操作
# i = 0# while (i < 9):# print("i ----> ",i)# i = i + 1# print(i,"i即将大于或者等于9,wh ...
- vue3如何编写挂载DOM的插件
vue3 跟 vue2 相比,多了一个 app 的概念,vue3 项目的创建也变成了 // main.jsimport { createApp } from 'vue' import App from ...
- 【LOJ 109 并查集】 并查集
题目描述 这是一道模板题. 维护一个 n 点的无向图,支持: 加入一条连接 u 和 v 的无向边 查询 u 和 v 的连通性 由于本题数据较大,因此输出的时候采用特殊的输出方式:用 0 或 1 代表每 ...
- idea使用maven下载jar包,出现证书校验问题问题,unable to find valid certification path to requested target
每次从github上下载下来的项目都报如下错误could not transfer artifact org.springframework.boot:spring-boot-starter-pare ...
- 浅析java中的IO流
在java中IO类很庞大,初学的时候觉得傻傻分不清楚.其实java流归根结底的原理是普通字节流,字节缓冲流,转换流.最基础的是普通字节流,即从硬盘读取字节写入到内存中,但在实际使用中又发现一些特殊的需 ...
- 流暢的python學習-3
一.文件操作 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Thu Apr 23 20:59 ...
- Python基础之用tkinter写界面
参考链接:https://blog.csdn.net/qq_37482202/article/details/84201259 Tkinter介绍 Tkinter(也叫Tk接口)是Tk图形用户界面工具 ...