init commit,
This commit is contained in:
91
03_source/api_server.del/prisma/seeds/utils/set-date.ts
Normal file
91
03_source/api_server.del/prisma/seeds/utils/set-date.ts
Normal file
@@ -0,0 +1,91 @@
|
||||
import dayjs from 'dayjs';
|
||||
import duration from 'dayjs/plugin/duration';
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
dayjs.extend(duration);
|
||||
|
||||
export function setDate(now: Date, options: { days?: number; hours?: number; minutes?: number }) {
|
||||
const month = now.getMonth() + 1;
|
||||
const year = now.getFullYear();
|
||||
const today = now.getDate();
|
||||
|
||||
const { days, hours = 0, minutes = 0 } = options;
|
||||
|
||||
return new Date(`${year}-${month}-${days ?? today} ${hours}:${minutes}`).toJSON();
|
||||
}
|
||||
|
||||
export const subHours = (
|
||||
value: number,
|
||||
option: 'years' | 'months' | 'days' | 'hours' | 'minutes' | 'seconds' | 'milliseconds'
|
||||
) => dayjs().subtract(value, option).format();
|
||||
|
||||
// years,
|
||||
// months,
|
||||
// days,
|
||||
// hours,
|
||||
// minutes,
|
||||
// seconds,
|
||||
// milliseconds,
|
||||
|
||||
export type DurationProps = {
|
||||
years?: number;
|
||||
months?: number;
|
||||
days?: number;
|
||||
hours?: number;
|
||||
minutes?: number;
|
||||
seconds?: number;
|
||||
milliseconds?: number;
|
||||
};
|
||||
|
||||
export function fSub({
|
||||
years = 0,
|
||||
months = 0,
|
||||
days = 0,
|
||||
hours = 0,
|
||||
minutes = 0,
|
||||
seconds = 0,
|
||||
milliseconds = 0
|
||||
}: DurationProps) {
|
||||
const result = dayjs()
|
||||
.subtract(
|
||||
dayjs.duration({
|
||||
years,
|
||||
months,
|
||||
days,
|
||||
hours,
|
||||
minutes,
|
||||
seconds,
|
||||
milliseconds
|
||||
})
|
||||
)
|
||||
.format();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
export function fAdd({
|
||||
years = 0,
|
||||
months = 0,
|
||||
days = 0,
|
||||
hours = 0,
|
||||
minutes = 0,
|
||||
seconds = 0,
|
||||
milliseconds = 0
|
||||
}: DurationProps) {
|
||||
const result = dayjs()
|
||||
.add(
|
||||
dayjs.duration({
|
||||
years,
|
||||
months,
|
||||
days,
|
||||
hours,
|
||||
minutes,
|
||||
seconds,
|
||||
milliseconds
|
||||
})
|
||||
)
|
||||
.format();
|
||||
|
||||
return result;
|
||||
}
|
10
03_source/api_server.del/prisma/seeds/utils/uuidv4.ts
Normal file
10
03_source/api_server.del/prisma/seeds/utils/uuidv4.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
/* eslint-disable no-bitwise */
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
export function uuidv4() {
|
||||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
||||
const r = (Math.random() * 16) | 0;
|
||||
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
||||
return v.toString(16);
|
||||
});
|
||||
}
|
Reference in New Issue
Block a user