TypeScript 2 : 获取当前日期及前后范围日期【Array】
2017-02-15 13:23
459 查看
前言
今天有个接口字段需求,要写一个今天及前几天的日期传过去; 在网上找了下都木有什么比较好的方案;就自己写了一个。 因为技术栈就是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 ); } } }
调用及结果
range参数支持正负数,里面也加了判断;type【为可选参数】有两种,一个是字符串one,一个是more;前者返回一个指定的日期;后者返回一个排序好的范围
getRangeDate( -6 );// 结果:2017-02-09 getRangeDate( -6, 'one' );// 结果:2017-02-09
getRangeDate( -6, 'more' ); // 结果 // ["2017-02-09", "2017-02-10", "2017-02-11", "2017-02-12", "2017-02-13", "2017-02-14", "2017-02-15"]
总结
就是用时间戳进行换算,然后通过内置函数获取对应字段进行拼接,,这里没有带时分秒,有兴趣的可以加个可选参数把时分秒带上。。因为我这里不需要用到,所以我就没加进去了。。结果集为数组,但不仅限于数组,也可以改成对象。。看你们喜欢啦
相关文章推荐
- TypeScript 2 : 获取当前日期及前后范围日期【Array】
- TypeScript 2 : 获取当前日期及前后范围日期【Array】
- js获取当前日期的前后N天日期的方法.html
- 根据当前日期获取当前季度范围
- C#获取指定月指定周的日期范围 根据当前时间获取本月开始日期和结束日期
- python获取当前日期前后N天或N月的日期
- python获取当前日期前后N天或N月的日期
- asp.net 获取 当前日期时间 及 前后N天日期时间(DropDownList数据绑定)
- 利用python获取当前日期前后N天或N月日期的方法示例
- C# 获取当前日期在指定日期范围内是第几周
- C#获取指定月指定周的日期范围 根据当前时间获取本月开始日期和结束日期
- 获取当前日期时间,前一天时间,后一天时间,时间日期对比前后
- asp.net 获取 当前日期时间 及 前后N天日期时间(DropDownList数据绑定)
- mysql 获取当前日期前后的时间
- 获取当前时间前后N天前后日期的方法
- php 获取上个月、下个月、本月的日期 当前月份的前后一个月
- C#中获取当前周的日期范围
- C#获取指定月指定周的日期范围 根据当前时间获取本月开始日期和结束日期
- python获取当前日期前后N天或N月的日期
- 根据年份获取周次,根据周次获取日期范围,获取当前年份,周次列表信息。