原文链接:http://blog.csdn.net/crper/article/details/55194334

---------------------------------------------------

前言

今天有个接口字段需求,要写一个今天及前几天的日期传过去;
在网上找了下都木有什么比较好的方案;就自己写了一个。
因为技术栈就是NG2+TS2+WEBPACK,这里的代码需要一定的TS2及ES6的基础

 代码

/*** @param {number} range* @param {string} [type]* @memberOf VehicleOverviewComponent* @description 获取今天及前后天*/getRangeDate( range: number, type?: string ) {const formatDate = ( time: any ) => {// 格式化日期,获取今天的日期const Dates = new Date( time );const year: number = Dates.getFullYear();const month: any = ( Dates.getMonth() + 1 ) < 10 ? '0' + ( Dates.getMonth() + 1 ) : ( Dates.getMonth() + 1 );const day: any = Dates.getDate() < 10 ? '0' + Dates.getDate() : Dates.getDate();return year + '-' + month + '-' + day;};const now = formatDate( new Date().getTime() ); // 当前时间const resultArr: Array<any> = [];let changeDate: string;if ( range ) {if ( type ) {if ( type === 'one' ) {changeDate = formatDate( new Date().getTime() + ( 1000 * 3600 * 24 * range ) );console.log( changeDate );}if ( type === 'more' ) {if ( range < 0 ) {for ( let i = Math.abs( range ); i >= 0; i-- ) {resultArr.push( formatDate( new Date().getTime() + ( -1000 * 3600 * 24 * i ) ) );console.log( resultArr );}} else {for ( let i = 1; i <= range; i++ ) {resultArr.push( formatDate( new Date().getTime() + ( 1000 * 3600 * 24 * i ) ) );console.log( resultArr );}}}} else {changeDate = formatDate( new Date().getTime() + ( 1000 * 3600 * 24 * range ) );console.log( changeDate );}}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

调用及结果

  1. range参数支持正负数,里面也加了判断;
  2. type【为可选参数】有两种,一个是字符串one,一个是more;前者返回一个指定的日期;后者返回一个排序好的范围
    getRangeDate( -6 );// 结果:2017-02-09getRangeDate( -6, 'one' );// 结果:2017-02-09
  • 1
  • 2
  • 1
  • 2
    getRangeDate( -6, 'more' );// 结果// ["2017-02-09", "2017-02-10", "2017-02-11", "2017-02-12", "2017-02-13", "2017-02-14", "2017-02-15"]
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

总结

就是用时间戳进行换算,然后通过内置函数获取对应字段进行拼接,,这里没有带时分秒,有兴趣的可以加个可选参数把时分秒带上。。因为我这里不需要用到,所以我就没加进去了。。

结果集为数组,但不仅限于数组,也可以改成对象。。看你们喜欢啦

TypeScript 2 : 获取当前日期及前后范围日期【Array】相关推荐

  1. php获取日期中的day,关于php:在laravel中获取当前日期,时间,日期

    我需要使用laravel获取当前日期,时间,日期 我试图回显$ldate = new DateTime('today');和$ldate = new DateTime('now'); 但是它总是返回1 ...

  2. js获取当前日期与昨天的日期

    获取当前日期 var date = new Date();// 获取当前月份 var nowMonth = date.getMonth() + 1;// 获取当前是几号 var strDate = d ...

  3. java获取月末日期_Java -- 获取当前日期、当月月初日期、月末日期

    public class CalendarTest { public static void main(String[] args) { // 获取当前年份.月份.日期 Calendar cale = ...

  4. JavaScript 获取当前日期——JS 中的今天日期

    在开发 Web 应用程序时,您可能需要包括执行特定操作的当前日期. 例如,当通过表单提交数据时,您可能希望包括数据的创建日期或提交表单的时间. 在本文中,我们将学习如何从头开始使用 JavaScrip ...

  5. php获取7天,php 获取未来七天的日期和星期

    php获取未来七天的日期和星期代码 for($i=4;$i<8;$i++){ $dateArray[$i]=date('Y-m-d',strtotime(date('Y-m-d').'+'.$i ...

  6. java 当前日期前一天_java获取当前日期的前一天和后一天

    /** * 获得指定日期的前一天 * @param specifiedDay * @return * @throws Exception */ public static String getSpec ...

  7. 从当前日期算起,获取几天前的日期和几个月前的日期

    /*** 从当前日期算起,获取N天前的日期(当前日不算在内),日期格式为yyyy-MM-dd* * @param daily 天数* @return */public static String ge ...

  8. python过去日期_利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

  9. Android 获取当前日期距离过期时间的日期差值的完整方法直接使用

    /*** * 获取当前日期距离过期时间的日期差值 * @param endTime * @return */public String dateDiff(String endTime) { Strin ...

最新文章

  1. 这68个Python内置函数,建议你吃透!
  2. 用计算机弹100万个可能,计算机应用基础试题与答案-2(选择题100道)(16页)-原创力文档...
  3. 从无到有算法养成篇-链式存储结构之循环链表
  4. 全行业的关键点是探索数据的价值 挖掘商业模式
  5. OpenCV中图像的BGR格式 Img对象的属性说明
  6. Goldengate的拆分与合并
  7. mysql profiling 应用
  8. IDEA不能下载插件
  9. 五分钟快速了解EM算法
  10. 【Landsat 8】介绍
  11. Access 97 , Access 2k , Access 03 数据库密码破解
  12. jeesit1.27使用(2)-图片处理
  13. Failed to build sentencepiece
  14. 初步分析CCLE和GDSC的数据——RNA表达矩阵
  15. Gluster FS 部署复制卷与常用命令 常见问题解决
  16. 2022半入耳式蓝牙耳机怎么选?半入耳式耳机排行榜
  17. 利用WebView加载HTML代码时解决图片正常显示
  18. oracle备份恢复(dmp文件)
  19. python 统计文件夹下的文件夹/某类型文件的数目
  20. 2D转换图片放大实用场景(11)

热门文章

  1. 怎么在计算机里找到CF里保存的视频,电脑怎么查看穿越火线录制保存视频?操作方法...
  2. php四种标量,php的标量数据类型和复合数据类型,php四种标量
  3. jwt java 项目实例_JWT(JsonWebToken)+SpringMVC项目demo
  4. idea 关联jdk源码_[项目源码]ERP进销存系统
  5. codeforces B. Design Tutorial: Learn from Life
  6. java中如何将JScrollPane的垂直滚动条自动移动到最下端
  7. 10034 - Freckles 克鲁斯克尔最小生成树!~
  8. python3.5 连接mysql_python3.5 連接mysql本地數據庫
  9. 好用的php空间,推荐国内三个优质的免费PHP空间
  10. 出租车管理系统java_基于jsp的出租车管理系统-JavaEE实现出租车管理系统 - java项目源码...