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);
  }
@@ -18,26 +19,17 @@
   *  获取时间区间,粒度数值
   */   
   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);
      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: 
@@ -56,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;
   }
}