业务需要需要获取当前日期相隔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. 基于Jquery ui 可复用的酒店 web页面选择入住日期插件

    效果图: 代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...

  2. python爬虫的入门问题

    第一张图是代码,爬的是亚马逊的一个商品网页,能爬出来内容,但是内容之间有很多空白换行,这是什么原因?要怎么解决?

  3. ufile开公钥私钥

    https://docs.ucloud.cn/storage_cdn/ufile/guide/token登陆UCloud官方控制台,进入UFile—令牌管理

  4. Yarn 资源调度器

    1. 概述 YARN 是一个资源调度平台,负责为运算程序提供服务器运算资源: YARN 由ResourceManager,NodeManager, ApplicationMaster 和 Contai ...

  5. Greenplum 5.21.1 集群安装部署

    简单来说GPDB是一个分布式数据库软件,其可以管理和处理分布在多个不同主机上的海量数据.对于GPDB来说,一个DB实例实际上是由多个独立的PostgreSQL实例组成的,它们分布在不同的物理主机上,协 ...

  6. c++语法笔记(下)

    多态性与虚函数 多态性(函数重载,运算符重载就是多态性现象)多态性 :向不同对象发送同一个消息,不同对象在接收时会产生不同的行为.(每个对象用自己的方式去响应共同的消息)多态性又可以分为静态多态性和动 ...

  7. PHP和Memcached - Memcached的安装

    1.现有扩展对比   memcache memcached 实现方式 原生 局域libmemcached的类库,性能高 编程方式 面向过程.对象 面向对象 CAS命令 NO YES php7 NO Y ...

  8. php文件操作类

    <?php /** *本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录 * 列出目录里的文件等功能,路径后面别忘了加"/" */ clas ...

  9. 使用寄存器点亮LED(第2节)—寄存器映射代码讲解

    // 打开 GPIOB 端口的时钟 *( unsigned int * )0x40021018|= ( 1 << 4 ); // 配置PC2 IO口为通用推挽输出,速度为10M *( un ...

  10. Spring基础篇——DI/IOC和AOP原理初识

    DI(Dependency Injection),依赖注入,和我们常听说的另一个概念 IOC(控制反转)其实归根结底实现的功能是相同的,只是同样的功能站在不同的角度来阐述罢了.这里博主就不去过多的辨析 ...