diff --git a/components.d.ts b/components.d.ts index c1719787..5da66697 100644 --- a/components.d.ts +++ b/components.d.ts @@ -67,6 +67,7 @@ declare module '@vue/runtime-core' { CTooltip: typeof import('./src/ui/c-tooltip/c-tooltip.vue')['default'] 'CTooltip.demo': typeof import('./src/ui/c-tooltip/c-tooltip.demo.vue')['default'] CurlToCode: typeof import('./src/tools/curl-to-code/curl-to-code.vue')['default'] + DateCalculator: typeof import('./src/tools/date-calculator/date-calculator.vue')['default'] DateTimeConverter: typeof import('./src/tools/date-time-converter/date-time-converter.vue')['default'] 'DemoHome.page': typeof import('./src/ui/demo/demo-home.page.vue')['default'] DemoWrapper: typeof import('./src/ui/demo/demo-wrapper.vue')['default'] diff --git a/locales/en.yml b/locales/en.yml index cab2c618..befdf937 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -297,6 +297,25 @@ tools: title: JWT parser description: Parse and decode your JSON Web Token (jwt) and display its content. + date-calculator: + title: Date calculator + description: Add or subtract days from a date, or calculate the number of days between two dates. + offset: + sectionTitle: Date after / before N days + baseDate: Start date + days: Days offset + daysHint: Use a negative number to go backwards + resultLabel: Result date + diff: + sectionTitle: Days between two dates + startDate: Start date + targetDate: Target date + resultLabel: Difference + dayUnit: days + directionAfter: Target date is after the start date + directionBefore: Target date is before the start date + directionSame: Same date + date-converter: title: Date-time converter description: Convert date and time into the various different formats diff --git a/locales/zh.yml b/locales/zh.yml index 9135b32b..65d24c17 100644 --- a/locales/zh.yml +++ b/locales/zh.yml @@ -293,6 +293,25 @@ tools: title: JWT 解析器 description: 解析和解码JSON Web Token(jwt)并显示其内容。 + date-calculator: + title: 日期计算器 + description: 推算几天前/后的日期,或计算两个日期之间相差的天数。 + offset: + sectionTitle: 推算几天前 / 后的日期 + baseDate: 起始日期 + days: 偏移天数 + daysHint: 输入负数则往前推算 + resultLabel: 结果日期 + diff: + sectionTitle: 计算两个日期相差 + startDate: 开始日期 + targetDate: 目标日期 + resultLabel: 相差 + dayUnit: 天 + directionAfter: 目标日期比起始日期晚 + directionBefore: 目标日期比起始日期早 + directionSame: 两个日期为同一天 + date-converter: title: 日期时间转换器 description: 将日期和时间转换为各种不同的格式 diff --git a/src/tools/date-calculator/date-calculator.vue b/src/tools/date-calculator/date-calculator.vue new file mode 100644 index 00000000..621b2c4d --- /dev/null +++ b/src/tools/date-calculator/date-calculator.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/tools/date-calculator/index.ts b/src/tools/date-calculator/index.ts new file mode 100644 index 00000000..2ab05e53 --- /dev/null +++ b/src/tools/date-calculator/index.ts @@ -0,0 +1,13 @@ +import { Calculator } from '@vicons/tabler'; +import { defineTool } from '../tool'; +import { translate } from '@/plugins/i18n.plugin'; + +export const tool = defineTool({ + name: translate('tools.date-calculator.title'), + path: '/date-calculator', + description: translate('tools.date-calculator.description'), + keywords: ['date', 'difference', 'days', 'calculator', 'add', 'subtract', 'duration', 'between', 'offset'], + component: () => import('./date-calculator.vue'), + icon: Calculator, + createdAt: new Date('2026-06-15'), +}); diff --git a/src/tools/index.ts b/src/tools/index.ts index 4bc036c1..3414b675 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -61,6 +61,7 @@ import { tool as chmodCalculator } from './chmod-calculator'; import { tool as chronometer } from './chronometer'; import { tool as colorConverter } from './color-converter'; import { tool as crontabGenerator } from './crontab-generator'; +import { tool as dateCalculator } from './date-calculator'; import { tool as dateTimeConverter } from './date-time-converter'; import { tool as deviceInformation } from './device-information'; import { tool as cypher } from './encryption'; @@ -127,6 +128,7 @@ export const toolsByCategory: ToolCategory[] = [ name: 'Converter', components: [ byteUnitConverter, + dateCalculator, dateTimeConverter, baseConverter, romanNumeralConverter,