欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

angular typescript获取格式化日期及前后范围日期

程序员文章站 2022-07-03 17:26:25
...

1:TypeScript 获取时间戳:

Date.parse(new Date().tostring());

2:TypeScript获取格式化日期:

static getNowDate(): string {
  const date = new Date();
  let month: string | number = date.getMonth() + 1;
  let strDate: string | number = date.getDate();
 
  if (month <= 9) {
    month = "0" + month;
  }
 
  if (strDate <= 9) {
    strDate = "0" + strDate;
  }
 
  return date.getFullYear() + "-" + month + "-" + strDate + " "
  + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
}

3:日期工具类:

dateTime.ts:

formatDate(){
        // 格式化日期,获取今天的日期
      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();
      const hours = Dates.getHours() < 10 ? '0' + Dates.getHours() : Dates.getHours();
      const minutes = Dates.getMinutes() < 10 ? '0' + Dates.getMinutes() : Dates.getMinutes();
      const seconds = Dates.getSeconds() < 10 ? '0' + Dates.getSeconds() : Dates.getSeconds();
      //返回数据格式
      return year + '-' + month+ '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
} 

4.前后范围方法

	/**
   	* @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"]

参考链接:https://blog.csdn.net/crper/article/details/55194334