From 234f914507b05a3b1a92435f5067df6ca4e5eee0 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Tue, 13 Mar 2018 14:22:16 +0800 Subject: [PATCH] 数据报表 --- src/app/business/services/util/date.service.ts | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 deletions(-) diff --git a/src/app/business/services/util/date.service.ts b/src/app/business/services/util/date.service.ts index 7b3f33c..8dbcf7d 100644 --- a/src/app/business/services/util/date.service.ts +++ b/src/app/business/services/util/date.service.ts @@ -1,6 +1,8 @@ import {Injectable} from '@angular/core'; import * as moment from 'moment'; +import { TimePeriod } from '@business/entity/data'; +import { TimeUnits } from '@business/enum/types.enum'; @Injectable() export class DateService { @@ -12,4 +14,52 @@ today(format: string) { return moment().format(format); } + /** + * ������������������,������������ + */ 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); + } + makeTimeList(timePeriod: TimePeriod): string [] { + const start = moment(timePeriod.startTime); + const end = moment(timePeriod.endTime); + const timeList: string[] = []; + let timeUnit: moment.DurationInputArg2 = 'day'; + let formatStyle = ''; + switch (timePeriod.timeUnits) { + case TimeUnits.YEAR: + formatStyle = 'YYYY'; + timeUnit = 'year'; break; + case TimeUnits.MONTH: + formatStyle = 'YYYY-MM'; + timeUnit = 'month'; break; + case TimeUnits.DAY: + formatStyle = 'YYYY-MM-DD'; + timeUnit = 'day'; break; + case TimeUnits.HOUR: + formatStyle = 'YYYY-MM-DD HH'; + timeUnit = 'hour'; break; + case TimeUnits.MINUTE: + formatStyle = 'YYYY-MM-DD HH:mm'; + timeUnit = 'minute'; break; + } + do { + const outTime = start.format(formatStyle); + timeList.push(outTime); + start.add(1, timeUnit); + }while (start.valueOf() < end.valueOf()); + return timeList; + } } -- Gitblit v1.8.0