业务需要需要获取当前日期相隔30天内的全部日期以及星期几,没插件因此特地写了一个:

/*
说明:获取当前日期或者某个日期相隔N天内的全部日期以及星期几
使用:
let test = new getdiffdate(2, '2019-08-08')
console.log(test.getdiffdate());
*/
class Getdiffdate {
/**
* @param {Number} n //必传,相隔多少天
* @param {String} stime //可选,开始日期,如2019-08-08,不传则为当前时间
*/
constructor(n, stime) {
this.n = n
this.stime = stime
}
getdiffdate () {
let weekArray = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
let i = 0 //数组key值
let diffdate = [] //存放时间数组
let week = '' //当前星期几
// 开始时间
let stime_date = this.stime ? new Date(this.stime) : new Date()
let stime_stamp = stime_date.getTime()
week = weekArray[stime_date.getDay()]
// 结束时间
let etime_date = new Date(stime_date)
etime_date.setDate(stime_date.getDate() + this.n)
let etime_stamp = new Date(etime_date).getTime()
//未设置开始时间,格式化当前时间
if (!this.stime) {
this.stime = this._getdate(stime_date)
}
//开始日期小于等于结束日期,并循环
while (stime_stamp <= etime_stamp) {
let day_obj = { date: this.stime, week: week }
diffdate[i] = day_obj;
//增加一天时间戳后的日期
let next_date = stime_stamp + (24 * 60 * 60 * 1000);
let next_date_obj = new Date(next_date)
this.stime = this._getdate(next_date_obj)
week = weekArray[next_date_obj.getDay()]
i++;
stime_stamp = next_date
}
return diffdate
}
// 格式化时间
_getdate (date) {
let etime_date_y = date.getFullYear() + '-';
let etime_date_m = (date.getMonth() + 1 < 10) ? '0' + (date.getMonth() + 1) + '-' : (date.getMonth() + 1) + '-';
let etime_date_d = (date.getDate() < 10) ? '0' + date.getDate() : date.getDate();
let fomatterdate = etime_date_y + etime_date_m + etime_date_d
return fomatterdate
}
} export default Getdiffdate

  

获取当前日期或者某个日期相隔N天内的全部日期以及星期几的更多相关文章

  1. Oracle 获取当前日期及日期格式

    http://blog.sina.com.cn/s/blog_6168ee920100l2ye.html Oracle 获取当前日期及日期格式 获取系统日期:  SYSDATE()   格式化日期:  ...

  2. JS获取当前日期时间及JS日期格式化

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

  3. python获取当前日期前后N天或N月的日期

    # -*- coding: utf-8 -*- '''获取当前日期前后N天或N月的日期''' from time import strftime, localtime from datetime im ...

  4. Java -- 获取当前日期、当月月初日期、月末日期

    Learn From:http://blog.csdn.net/sunhuwh/article/details/39161323 public class CalendarTest { public ...

  5. 使用sqlserver日期函数获取当前日期

    使用sqlserver日期函数中的getdate()可以获取当现的日期,下面就将为您介绍这种使用sqlserver日期函数获取当前日期的方法,供您参考,希望对您学习sqlserver日期函数有所启迪. ...

  6. PHP 获取当前日期的上个月的日期

    获取当前日期的上个月的日期 <?php /** *参考有: *http://www.oschina.net/code/snippet_96541_4015 *http://stackoverfl ...

  7. Sql Server CONVERT获取当前日期及日期样式

    Sql Server CONVERT获取当前日期及日期样式(转)(2012-06-06 12:00:24) 转载▼ // 标签: 杂谈 分类: SQL Sql Server CONVERT样式 获取当 ...

  8. mysql获取当前日期的周一和周日的日期

    ,,date_format(curdate(),)//获取当前日期 在本周的周一 的日期 ,,date_format(curdate(),)//获取当前日期 在本周的周日 的日期

  9. python里如何获取当前日期前后N天或N月的日期

    #!/usr/bin/python#_*_ coding:UTF-8_*_ import timeimport datetimeimport mathimport calendar ''' time. ...

随机推荐

  1. 【VS开发】fatal error C1853: "Debug\sift.pch"预编译头文件来自编译器的早期版本

    fatal error C1853: "Debug\sift.pch"预编译头文件来自编译器的早期版本 <pre id="best-content-12991040 ...

  2. jqGrid全部选中

    var jqGrid = $("#jqGrid"); // 拿到所有行id var jqGridIDs = jqGrid.getDataIDs(); // 拿到所有选中行id va ...

  3. Flink SQL项目实录

    一.Flink SQL层级 为Flink最高层的API,易于使用,所以应用更加广泛,eg. ETL.统计分析.实时报表.实时风控等. Flink SQL所处的层级: 二.Flink聚合: 1.Wind ...

  4. linux系统下,在用户空间应用程序中模拟发送系统键盘事件

    Linux 有自己的 input 子系统,可以统一管理鼠标和键盘事件. 如果想模拟键盘事件,但是系统没有键盘设备该如何是好? 基于输入子系统实现的 input 可以方便的在用户空间模拟鼠标和键盘事件. ...

  5. mysql中information_schema.tables字段说明

      1. 获取所有表结构(TABLES) SELECT  *  FROM information_schema.TABLES WHERE  TABLE_SCHEMA='数据库名';  TABLES表: ...

  6. 数组、可变参数 、this关键字 (札记)

    Thinking in java 读书笔记(P84 ~ P104) 作者:淮左白衣 写于:2018年4月10日16:42:57 目录 this 为什么可以代表调用对象 数组 数组中的 length 定 ...

  7. 剑指offer51:构建乘积数组B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1],不能使用除法

    1 题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1] ...

  8. wordpress5.0+中 Notice: Undefined index: HTTP_REFERER 问题解决

    都说现在搭网站很简单了,但真遇到问题了还真不一定能解决. 这次搭建的网站是用的wordpress版本5.0.4,以为操作和以前的低版本一样,结果做出来还是遇到问题了. 网站搭好后,首页总在顶端出现一行 ...

  9. 使用 jsvc 启动tomcat(使用普通用户运行)

    使用 jsvc 启动tomcat(使用普通用户运行) jsvc简介 在生产中,tomcat应该以daemon的模式运行,而且如果需要以普通用户的身份启动tomcat,那么就不能使用1024以下的端口, ...

  10. 【Manacher】Colorful String

    The value of a string s is equal to the number of different letters which appear in this string. You ...