fengxiang
2018-03-19 b7aa850069d53ca1cc2aea791e7401216f5b795c
src/app/business/services/util/date.service.ts
@@ -4,9 +4,10 @@
import { TimePeriod } from '@business/entity/data';
import { TimeUnits } from '@business/enum/types.enum';
type baseUnitOfMoment = moment.unitOfTime.Base;
@Injectable()
export class DateService {
  date_format(date: string, format: string) {
    return moment(date).format(format);
  }
@@ -16,27 +17,19 @@
  }
  /**
   *  获取时间区间,粒度数值
   */   countTimeRange(timePeriod: TimePeriod): number {
     let timeUnit = 0;
    switch (timePeriod.timeUnits) {
      case TimeUnits.YEAR:
      timeUnit = 1000 * 60 * 60 * 24 * 30 * 12; break;
      case TimeUnits.MONTH:
      timeUnit = 1000 * 60 * 60 * 24 * 30; break;
      case TimeUnits.DAY:
      timeUnit = 1000 * 60 * 60 * 24; break;
      case TimeUnits.HOUR:
      timeUnit = 1000 * 60 * 60; break;
      case TimeUnits.MINUTE:
      timeUnit = 1000 * 60; break;
    }
     return Math.floor((timePeriod.endTime.getTime() - timePeriod.startTime.getTime()) / timeUnit);
   */
   countTimeRange(timePeriod: TimePeriod): number {
      let timeUnit: baseUnitOfMoment = 'day';
      timeUnit = <baseUnitOfMoment>timePeriod.timeUnits.toLowerCase();
      const start = moment(timePeriod.startTime);
      const end = moment(timePeriod.endTime);
      return end.diff(start, timeUnit) + 1;
   }
   makeTimeList(timePeriod: TimePeriod): string [] {
    const start = moment(timePeriod.startTime);
    const end = moment(timePeriod.endTime);
    const timeList: string[] = [];
    let timeUnit: moment.DurationInputArg2 = 'day';
    let timeUnit: baseUnitOfMoment = 'day';
    let formatStyle = '';
    switch (timePeriod.timeUnits) {
      case TimeUnits.YEAR: 
@@ -55,11 +48,11 @@
      formatStyle = 'YYYY-MM-DD HH:mm';
      timeUnit = 'minute'; break;
    }
    do {
    while (start.valueOf() < end.valueOf()) {
     const outTime = start.format(formatStyle);
     timeList.push(outTime);
     start.add(1, timeUnit);
    }while (start.valueOf() < end.valueOf());
    }
    return timeList;
   }
}