Skip to content

Commit ec72643

Browse files
committed
fix(cls): timezone to Asia/Shanghai
1 parent 14ae8b0 commit ec72643

File tree

4 files changed

+30
-19
lines changed

4 files changed

+30
-19
lines changed

src/modules/cls/index.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { Cls as ClsClient } from '@tencent-sdk/cls';
2-
import dayjs, { Dayjs } from 'dayjs';
32
import {
43
ClsDelopyIndexInputs,
54
ClsDeployInputs,
@@ -12,10 +11,9 @@ import {
1211
} from './interface';
1312
import { CapiCredentials, RegionType } from './../interface';
1413
import { ApiError } from '../../utils/error';
14+
import { dtz, TIME_FORMAT, Dayjs } from '../../utils/dayjs';
1515
import { createLogset, createTopic, updateIndex, getSearchSql } from './utils';
1616

17-
const TimeFormat = 'YYYY-MM-DD HH:mm:ss';
18-
1917
export default class Cls {
2018
credentials: CapiCredentials;
2119
region: RegionType;
@@ -214,11 +212,11 @@ export default class Cls {
214212

215213
// 默认获取从当前到一个小时前时间段的日志
216214
if (!endTime) {
217-
endDate = dayjs();
215+
endDate = dtz();
218216
startDate = endDate.add(-1, 'hour');
219217
} else {
220-
endDate = dayjs(endTime);
221-
startDate = dayjs(endDate.valueOf() - Number(interval) * 1000);
218+
endDate = dtz(endTime);
219+
startDate = dtz(endDate.valueOf() - Number(interval) * 1000);
222220
}
223221

224222
const sql = getSearchSql({
@@ -229,8 +227,8 @@ export default class Cls {
229227
const searchParameters = {
230228
logset_id: data.logsetId,
231229
topic_ids: data.topicId,
232-
start_time: startDate.format(TimeFormat),
233-
end_time: endDate.format(TimeFormat),
230+
start_time: startDate.format(TIME_FORMAT),
231+
end_time: endDate.format(TIME_FORMAT),
234232
// query_string 必须用 cam 特有的 url 编码方式
235233
query_string: sql,
236234
limit: data.limit || 10,
@@ -244,8 +242,8 @@ export default class Cls {
244242
logsetId: data.logsetId,
245243
topicId: data.topicId,
246244
reqId: curReq.requestId,
247-
startTime: startDate.format(TimeFormat),
248-
endTime: endDate.format(TimeFormat),
245+
startTime: startDate.format(TIME_FORMAT),
246+
endTime: endDate.format(TIME_FORMAT),
249247
});
250248
curReq.message = (detailLog || [])
251249
.map(({ content }: { content: string }) => {
@@ -274,7 +272,7 @@ export default class Cls {
274272
debug: false,
275273
});
276274

277-
data.startTime = data.startTime || dayjs(data.endTime).add(-1, 'hour').format(TimeFormat);
275+
data.startTime = data.startTime || dtz(data.endTime).add(-1, 'hour').format(TIME_FORMAT);
278276

279277
const sql = `SCF_RequestId:${data.reqId} AND SCF_RetryNum:0`;
280278
const searchParameters = {

src/modules/scf/entities/scf.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Capi } from '@tencent-sdk/capi';
22
import { waitResponse } from '@ygkit/request';
33
import dayjs from 'dayjs';
44
import { ApiTypeError, ApiError } from '../../../utils/error';
5-
import { formatDate } from '../../../utils';
5+
import { formatDate } from '../../../utils/dayjs';
66
import CONFIGS from '../config';
77
import Cls from '../../cls';
88
import { formatInputs } from '../utils';

src/utils/dayjs.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import dayjs, { Dayjs, ConfigType } from 'dayjs';
2+
import tz from 'dayjs/plugin/timezone';
3+
import utc from 'dayjs/plugin/utc';
4+
5+
dayjs.extend(tz);
6+
dayjs.extend(utc);
7+
8+
dayjs.tz.setDefault('Asia/Shanghai');
9+
10+
const dtz = (date: ConfigType = Date.now()) => {
11+
return dayjs.tz(date);
12+
};
13+
14+
const TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
15+
16+
function formatDate(date: ConfigType): string {
17+
return dtz(date).format(TIME_FORMAT);
18+
}
19+
20+
export { dayjs, dtz, Dayjs, TIME_FORMAT, formatDate };

src/utils/index.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
import fs from 'fs';
22
import path from 'path';
33
import { PascalCase } from 'type-fest';
4-
import dayjs, { Dayjs } from 'dayjs';
54

65
// TODO: 将一些库换成 lodash
76

8-
export const TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
9-
107
/**
118
* simple deep clone object
129
* @param {object} obj object
@@ -250,7 +247,3 @@ export function getYestoday() {
250247
const yestoday = getToday(new Date(timestamp));
251248
return yestoday;
252249
}
253-
254-
export function formatDate(str: string | number | Dayjs): string {
255-
return dayjs(str).format(TIME_FORMAT);
256-
}

0 commit comments

Comments
 (0)