From b7aa850069d53ca1cc2aea791e7401216f5b795c Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Mon, 19 Mar 2018 16:44:07 +0800 Subject: [PATCH] 数据查看 --- src/app/business/services/util/date.service.ts | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 44 insertions(+), 1 deletions(-) diff --git a/src/app/business/services/util/date.service.ts b/src/app/business/services/util/date.service.ts index 7b3f33c..da31118 100644 --- a/src/app/business/services/util/date.service.ts +++ b/src/app/business/services/util/date.service.ts @@ -1,10 +1,13 @@ import {Injectable} from '@angular/core'; import * as moment from 'moment'; +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); } @@ -12,4 +15,44 @@ today(format: string) { return moment().format(format); } + /** + * ������������������,������������ + */ + 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: baseUnitOfMoment = '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; + } + while (start.valueOf() < end.valueOf()) { + const outTime = start.format(formatStyle); + timeList.push(outTime); + start.add(1, timeUnit); + } + return timeList; + } } -- Gitblit v1.8.0