1
+ package com.huayi.intellijplatform.gitstats.utils
2
+
3
+ import java.time.DayOfWeek
4
+ import java.time.LocalDate
5
+ import java.time.temporal.TemporalAdjusters
6
+ import java.util.*
7
+
8
+ object Utils {
9
+ fun getThisWeekDateRange (): Pair <LocalDate , LocalDate > {
10
+ val now = LocalDate .now()
11
+ val startOfWeek = now.with (TemporalAdjusters .previousOrSame(DayOfWeek .MONDAY ))
12
+ val endOfWeek = now.with (TemporalAdjusters .nextOrSame(DayOfWeek .SUNDAY ))
13
+ return Pair (startOfWeek, endOfWeek)
14
+ }
15
+
16
+ fun getThisWeekDateTimeRange (): Pair <Date , Date > {
17
+ val calendar = Calendar .getInstance()
18
+ val today = calendar.time
19
+ calendar.firstDayOfWeek = Calendar .MONDAY
20
+ calendar.time = today
21
+ calendar.set(Calendar .DAY_OF_WEEK , Calendar .MONDAY )
22
+ calendar.set(Calendar .HOUR_OF_DAY , calendar.getActualMinimum(Calendar .HOUR_OF_DAY ))
23
+ calendar.set(Calendar .MINUTE , calendar.getActualMinimum(Calendar .MINUTE ))
24
+ calendar.set(Calendar .SECOND , calendar.getActualMinimum(Calendar .SECOND ))
25
+ calendar.set(Calendar .MILLISECOND , calendar.getActualMinimum(Calendar .MILLISECOND ))
26
+ val startOfWeek = calendar.time
27
+ calendar.set(Calendar .DAY_OF_WEEK , Calendar .SUNDAY )
28
+ calendar.set(Calendar .HOUR_OF_DAY , calendar.getActualMaximum(Calendar .HOUR_OF_DAY ))
29
+ calendar.set(Calendar .MINUTE , calendar.getActualMaximum(Calendar .MINUTE ))
30
+ calendar.set(Calendar .SECOND , calendar.getActualMaximum(Calendar .SECOND ))
31
+ calendar.set(Calendar .MILLISECOND , calendar.getActualMaximum(Calendar .MILLISECOND ))
32
+ val endOfWeek = calendar.time
33
+ return Pair (startOfWeek, endOfWeek)
34
+ }
35
+ }
0 commit comments