From 9c9b8250b973eea72f6970e1ceb46facca9f0a99 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Tue, 13 Mar 2018 15:18:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop

---
 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