@zgfe/business-lib 1.1.15 → 1.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -108,23 +108,43 @@ var dateListSimple = [{
108
108
  export function getDateList(mode) {
109
109
  return mode == 'general' ? dateListGeneral : dateListSimple;
110
110
  }
111
- export var getDateRange = function getDateRange(type, count, includeToday) {
112
- var endDate = moment().subtract(includeToday || count == 0 ? 0 : 1, 'days').format('YYYY-MM-DD'),
113
- startDate = '';
114
111
 
115
- if (type === 'month') {
116
- startDate = moment().subtract(count, 'months').format('YYYY-MM-DD');
117
- } else if (type === 'week') {
118
- startDate = moment().subtract(count, 'weeks').format('YYYY-MM-DD');
119
- } else if (type === 'day') {
120
- startDate = moment().subtract(count, 'days').format('YYYY-MM-DD');
121
- if (count === 1) endDate = moment().subtract(count, 'days').format('YYYY-MM-DD');
122
- } else {
123
- startDate = endDate = moment().subtract(count, 'days').format('YYYY-MM-DD');
112
+ function getAbsoluteDate(unit, count, maxDate) {
113
+ var res = {};
114
+ var dayTime = 24 * 60 * 60 * 1000;
115
+
116
+ switch (unit) {
117
+ case 'hour':
118
+ res.endDate = res.startDate = moment().subtract(count, 'days').toDate();
119
+ break;
120
+
121
+ case 'day':
122
+ res.startDate = moment().subtract(count, 'days').toDate();
123
+ res.endDate = maxDate;
124
+ break;
125
+
126
+ case 'week':
127
+ res.endDate = maxDate;
128
+ var firstOfWeek = new Date(maxDate.getTime() - (maxDate.getDay() - 1) * dayTime);
129
+ res.startDate = new Date(firstOfWeek.getTime() - count * 7 * dayTime);
130
+ break;
131
+
132
+ case 'month':
133
+ res.endDate = maxDate;
134
+ var firstOfMonth = new Date(maxDate.getTime() - (maxDate.getDate() - 1) * dayTime);
135
+ firstOfMonth.setMonth(firstOfMonth.getMonth() - count);
136
+ res.startDate = new Date(firstOfMonth);
137
+ break;
124
138
  }
125
139
 
140
+ return res;
141
+ }
142
+
143
+ export var getDateRange = function getDateRange(type, count, includeToday) {
144
+ var maxDate = moment().subtract(includeToday || count == 0 ? 0 : 1, 'days').toDate();
145
+ var res = getAbsoluteDate(type, count, maxDate);
126
146
  return {
127
- begin: startDate,
128
- end: endDate
147
+ begin: moment(res.startDate).format('YYYY-MM-DD'),
148
+ end: moment(res.endDate).format('YYYY-MM-DD')
129
149
  };
130
150
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zgfe/business-lib",
3
- "version": "1.1.15",
3
+ "version": "1.1.16",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -60,5 +60,5 @@
60
60
  "react": "^16.12.0 || ^17.0.0",
61
61
  "yorkie": "^2.0.0"
62
62
  },
63
- "gitHead": "b2e6874455503b234e09d423e5e89df50a7035e8"
63
+ "gitHead": "8521b252e7b7443b4440704f501196168f69e171"
64
64
  }