TypeScript 2 : 获取当前日期及前后范围日期【Array】
前言
今天有个接口字段需求,要写一个今天及前几天的日期传过去;
在网上找了下都木有什么比较好的方案;就自己写了一个。
因为技术栈就是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】的更多相关文章
- PHP 获取当前日期的上个月的日期
获取当前日期的上个月的日期 <?php /** *参考有: *http://www.oschina.net/code/snippet_96541_4015 *http://stackoverfl ...
- Smarty 获取当前日期时间和格式化日期时间
在Smarty 中获取当前日期时间和格式化日期时间与PHP中有些不同的地方,这里就为您详细介绍: 首先是获取当前的日期时间:在PHP中我们会使用date函数来获取当前的时间,实例代码如下:date(& ...
- JS获取当前日期时间及JS日期格式化
Js获取当前日期时间: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份( ...
- Java -- 获取当前日期、当月月初日期、月末日期
Learn From:http://blog.csdn.net/sunhuwh/article/details/39161323 public class CalendarTest { public ...
- javascript 添加行,删除行,datepicker获取当前日期和上一个月日期并设置格式,笔记
$(function () { getdatepicker(); today(); getPreMonth(); getdatetimepicker(); }); function today(){ ...
- Java,Calendar -- 获取当前日期、当月月初日期、月末日期
public class CalendarTest { public static void main(String[] args) { // 获取当前年份.月份.日期 Calendar cale = ...
- 获取当前日期,或指定日期的农历js代码
时间不早了,直接上代码啦-- var CalendarData=new Array(100);var madd=new Array(12);var tgString="甲乙丙丁戊己庚辛壬癸& ...
- php获取当前日期开始一周日期与星期几
不说了,对于PHPer来说,写不出来说什么都是白瞎,不喜勿喷~~~~ function get_week(){ $data = []; $format='Y-m-d'; for ($i=0; $i&l ...
- Oracle 获取当前日期及日期格式
http://blog.sina.com.cn/s/blog_6168ee920100l2ye.html Oracle 获取当前日期及日期格式 获取系统日期: SYSDATE() 格式化日期: ...
随机推荐
- 【bzoj2795】【Poi2012】A Horrible Poem
题解: 询问区间的整循环节 设区间长度为$n$ 如果有循环节长为$x$和$y$,那由斐蜀定理得$gcd(x,y)$也一定为一个循环节: 假设最小的循环节长为$mn$,那么对于任何循环节长$x$,一定$ ...
- Python高手之路【四】python函数装饰器,迭代器
def outer(func): def inner(): print('hello') print('hello') print('hello') r = func() print('end') p ...
- 动态规划:树形DP-景点中心(树的带权重心)
话说宁波市的中小学生在镇海中学参加计算机程序设计比赛,比赛之余,他们在镇海中学的各个景点参观.镇海中学共有n个景点,每个景点均有若干学生正在参 观.这n个景点以自然数1至n编号,每两个景点的编号均不同 ...
- Shell中eval的用法示例
功能说明:告知shell取出eval的参数,重新运算求出参数的内容. 语 法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行. 参 数:参数不限数目,彼此之间用分 ...
- java项目中Excel文件预览
package com.linkonworks.df.busi.utils; import java.io.File; import java.io.FileInputStream; import j ...
- java.lang.System.arraycopy() 与java.util.Arrays.copyOf()的区别
java.lang.System.arraycopy() 与java.util.Arrays.copyOf()的区别 一.java.lang.System.arraycopy() 该方法的声明: /* ...
- ASP.NET配置文件Web.config 详细解释
一.认识Web.config文件 Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式), ...
- phpexcel 导入导出excel表格
phpexcel中文实用手册 转载:http://www.cnblogs.com/freespider/p/3284828.html 下面是总结的几个使用方法 include 'PHPExcel.ph ...
- 关于项目中根据当前数据库中最大ID生成下一个ID问题——(五)
1.关于部门管理时候根据上级产生下级部门ID的问题(传入一个参数是上级部门id)
- springboot集成mybatis环境搭建以及实现快速开发微服务商品模块基本的增删改查!
之前学习了springboot和mybatis3的一些新特性,初步体会了springboot的强大(真的好快,,,,,),最近趁着复习,参考着以前学习的教程,动手写了一个springboot实战的小例 ...