业务需要需要获取当前日期相隔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. 如何写出优美的 C 代码 面向对象的 C

    基础知识 结构体 除了提供基本数据类型外,C 语言还提供给用户自己定制数据类型的能力,那就是结构体,在 C 语言中,你可以用结构体来表示任何实体.结构体正是面向对象语言中的类的概念的雏形,比如: ty ...

  2. Timsort

    https://archive.codeplex.com/?p=timsort4net#117964 download archive https://codeplexarchive.blob.cor ...

  3. java读写cookie中文乱码解决方法

    1.写入的时候: public boolean addCookie( HttpServletRequest req, HttpServletResponse resp){ //创建 Cookie co ...

  4. navicat-use

    https://blog.csdn.net/weixin_44496987/article/details/87186071

  5. Python豆瓣源镜像

    pip install pymysql -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

  6. C语言细节

    一些常见细节 int *p[]和 int (*p)[] 的区别 int *p[4]; //定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义了. int (*p)[4 ...

  7. PHP二维数组的引用赋值容易犯的错误

    大家一起来分析一下下面这段代码: <?php $arr = array(); $arr["abc"] = array("sex" => 100, & ...

  8. 【Python | opencv+PIL】常见操作(创建、添加帧、绘图、读取等)的效率对比及其优化

    一.背景 本人准备用python做图像和视频编辑的操作,却发现opencv和PIL的效率并不是很理想,并且同样的需求有多种不同的写法并有着不同的效率.见全网并无较完整的效率对比文档,遂决定自己丰衣足食 ...

  9. 单例模式中volatile关键字的作用

    背景&问题 在早期的JVM中,synchronized存在巨大的性能开销.因此,有人想出了一个"聪明"的技巧:双重检查锁定(Double-Checked Locking). ...

  10. redis5.0集群配置

    介绍 redis自3.0版本以来支持主从模式的集群,可用哨兵监控集群健康状态,但这种方式的集群很不成熟,数据备份需要全量拷贝.在之后的版本才真正支持集群分片. 在redis5.0中去除了以redis- ...