1
1
<script setup lang="ts">
2
- import { getWeek , getWeekOfMonth } from ' date-fns' ;
2
+ import { getISOWeek , getWeek , getWeekOfMonth } from ' date-fns' ;
3
3
import { getFirstMondayFromISOWeek , getFirstMondayFromMonthWeek } from ' ./week-number-converter.service' ;
4
4
5
5
const now = new Date ();
6
6
7
7
const inputDate = ref (now .getTime ());
8
8
const outputWeekInMonth = computed (() => getWeekOfMonth (inputDate .value ));
9
- const outputWeekInYear = computed (() => getWeek (inputDate .value ));
9
+ const outputLocalWeekInYear = computed (() => getWeek (inputDate .value ));
10
+ const outputISOWeekInYear = computed (() => getISOWeek (inputDate .value ));
10
11
11
12
const inputWeekInMonth = ref ({
12
13
week: getWeekOfMonth (now ),
@@ -31,12 +32,13 @@ const outputWeekInYearMonday = computed(() => getFirstMondayFromISOWeek(inputWee
31
32
32
33
<n-divider />
33
34
34
- <input-copyable readonly label =" Week in Year:" label-position =" left" label-width =" 120px" :value =" outputWeekInYear" mb-1 />
35
- <input-copyable readonly label =" Week in Month:" label-position =" left" label-width =" 120px" :value =" outputWeekInMonth" mb-1 />
35
+ <input-copyable readonly label =" Local Week in Year:" label-position =" left" label-width =" 130px" :value =" outputLocalWeekInYear" mb-1 />
36
+ <input-copyable readonly label =" ISO Week (in Year):" label-position =" left" label-width =" 130px" :value =" outputISOWeekInYear" mb-1 />
37
+ <input-copyable readonly label =" Week in Month:" label-position =" left" label-width =" 130px" :value =" outputWeekInMonth" mb-1 />
36
38
</c-card >
37
- <c-card title =" Year Week Number to Date " mb-2 >
39
+ <c-card title =" ISO Week number to date " mb-2 >
38
40
<div flex items-baseline gap-2 >
39
- <n-form-item label =" Week in Year :" label-placement =" left" flex-1 >
41
+ <n-form-item label =" ISO Week number :" label-placement =" left" flex-1 >
40
42
<n-input-number v-model:value =" inputWeekInYear.week" :min =" 1" :max =" 53" />
41
43
</n-form-item >
42
44
<n-form-item label =" Year:" label-placement =" left" flex-1 >
@@ -48,9 +50,9 @@ const outputWeekInYearMonday = computed(() => getFirstMondayFromISOWeek(inputWee
48
50
49
51
<input-copyable readonly label =" First Monday" label-position =" left" :value =" outputWeekInYearMonday" />
50
52
</c-card >
51
- <c-card title =" Month Week Number to Date " mb-2 >
53
+ <c-card title =" Week number in month to date " mb-2 >
52
54
<div flex items-baseline gap-2 >
53
- <n-form-item label =" Week in Month :" label-placement =" left" flex-1 >
55
+ <n-form-item label =" Week in month :" label-placement =" left" flex-1 >
54
56
<n-input-number v-model:value =" inputWeekInMonth.week" :min =" 1" :max =" 5" />
55
57
</n-form-item >
56
58
<n-form-item label =" Month:" label-placement =" left" flex-1 >
0 commit comments