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】--获取开始时间 和 截止时间中间的所有时间的更多相关文章

  1. js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)

    js 获取开始时间和结束时间相隔小时及分钟(时间戳操作) 场景描述:获取开始时间和结束时间相隔小时及分钟 实例: TimeOnConfirm(curDate) { if(this.pickernum ...

  2. JS获取当前时间和日期

    当前时间和日期 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1 ...

  3. js获取当前系统时间

    Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...

  4. Js获取当前日期时间及其它操作

    Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...

  5. js 获取当前的时间

    第一个小程序,用js获取当前的时间,,比较特殊的是 月是从0开始算的,显示的时候要加1,获取日用getDate(),获取周 getDay(), 直接上代码 <!DOCTYPE html> ...

  6. js获取当前时间显示在页面上

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. js 获取当前系统时间

    Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年 ...

  8. js 获取系统当前时间

    JS获取当前的日期和时间的方法:var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年 ...

  9. js获取当前时间&js 页面时钟

    js获取当前时间 //获取当前时间,格式YYYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = ...

随机推荐

  1. Selenium启动Firefox示例(java版)

    本文示例使用selenium启动Firefox,并将浏览器窗口最大化,在百度搜索框内输入"HelloWorld",最后点击搜索按钮. 源代码如下: 1 package com.se ...

  2. LOJ528 「LibreOJ β Round #4」求和

    LOJ528 「LibreOJ β Round #4」求和 先按照最常规的思路推一波: \[\begin{aligned} &\sum_{i=1}^n\sum_{j=1}^m\mu^2(\gc ...

  3. Java基础00-面向对象基础13

    1. 类和对象 1.1 什么是对象 1.2 什么是面向对象                1.3 什么是类 1.4 什么是对象的属性 1.5 什么是对象的行为 行为就是对象能够干什么 1.6 类和对象 ...

  4. 【LeetCode】59.螺旋矩阵II

    59.螺旋矩阵II 知识点:数组: 题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . 示例 输入:n = 3 ...

  5. java并发编程基础——线程通信

    线程通信 当线程在系统内运行时,程序通常无法准确的控制线程的轮换执行,但我们可以通过一些机制来保障线程的协调运行 一.传统的线程通信 传统的线程通信主要是通过Object类提供的wait(),noti ...

  6. via浏览器和Alook浏览器插件安装

    via和Alook是Android和IOS上可以支持JS插件的浏览器,一些常用的插件可以在via-app.cn上找到.但总会有人会思考点击安装按钮的是怎样将JS脚本代码安装到浏览器的. 经过对页面代码 ...

  7. 数据库-SQL 语法

    数据库-SQL 语法 二十余年如一梦,此身虽在堪惊. 简介:数据库-SQL 语法 一.基础 模式定义了数据如何存储.存储什么样的数据以及数据如何分解等信息,数据库和表都有模式. 主键的值不允许修改,也 ...

  8. odoo14里面给下载PDF附件加水印

    依赖包:pip install reportlab Odoo 中附件的下载会经过 ir.http 的 def binary_content() 方法获取附件内容等必要信息, 所以我们需要继承 ir.h ...

  9. 比@EnableMongoAuditing功能强大的实现

    问题出现 以前通过@EnableMongoAuditing.@CreateDate.@LastModifiedDate进行实体类创建时间.修改时间的自动管理. 但为了实现多数据源的管理以及切换,自己覆 ...

  10. IOS真机调试找不到设备:ERROR: Could not connect to lockdownd, error code -[x]

    报错信息: Could not connect to lockdownd, error code -3 解决方法:修改var/db/lockdown文件夹的读写权限 在终端找到文件夹cd var/db ...