mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-24 22:03:54 +00:00

* fix if-else find variables (#92) * fix if-else find variables * change workflow output type * fix tooltip style * fix * 4.8 (#93) * api middleware * perf: app version histories * faq * perf: value type show * fix: ts * fix: Run the same node multiple times * feat: auto save workflow * perf: auto save workflow --------- Co-authored-by: heheer <71265218+newfish-cmyk@users.noreply.github.com>
38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import dayjs from 'dayjs';
|
|
import cronParser from 'cron-parser';
|
|
|
|
export const formatTime2YMDHM = (time?: Date) =>
|
|
time ? dayjs(time).format('YYYY-MM-DD HH:mm') : '';
|
|
export const formatTime2YMD = (time?: Date) => (time ? dayjs(time).format('YYYY-MM-DD') : '');
|
|
export const formatTime2HM = (time: Date = new Date()) => dayjs(time).format('HH:mm');
|
|
|
|
/* cron time parse */
|
|
export const cronParser2Fields = (cronString: string) => {
|
|
try {
|
|
const cronField = cronParser.parseExpression(cronString).fields;
|
|
return cronField;
|
|
} catch (error) {
|
|
return null;
|
|
}
|
|
};
|
|
// 根据cron表达式和时区获取下一个时间
|
|
export const getNextTimeByCronStringAndTimezone = ({
|
|
cronString,
|
|
timezone
|
|
}: {
|
|
cronString: string;
|
|
timezone: string;
|
|
}) => {
|
|
try {
|
|
const options = {
|
|
currentDate: dayjs().tz(timezone).format(),
|
|
tz: timezone
|
|
};
|
|
const interval = cronParser.parseExpression(cronString, options);
|
|
const date = interval.next().toString();
|
|
return new Date(date);
|
|
} catch (error) {
|
|
return new Date('2099');
|
|
}
|
|
};
|