diff --git a/datetime/datetime.go b/datetime/datetime.go index 2c00dbd..20c5e1c 100644 --- a/datetime/datetime.go +++ b/datetime/datetime.go @@ -205,3 +205,8 @@ func DayOfYear(t time.Time) int { return int(nowDate.Sub(firstDay).Hours() / 24) } + +// IsWeekend checks if passed time is weekend or not. +func IsWeekend(t time.Time) bool { + return time.Saturday == t.Weekday() || time.Sunday == t.Weekday() +} diff --git a/datetime/datetime_test.go b/datetime/datetime_test.go index 85d5f18..ccfc486 100644 --- a/datetime/datetime_test.go +++ b/datetime/datetime_test.go @@ -283,3 +283,18 @@ func TestDayOfYear(t *testing.T) { result3 := DayOfYear(date3) assert.Equal(0, result3) } + +func TestIsWeekend(t *testing.T) { + assert := internal.NewAssert(t, "TestIsWeekend") + date := time.Date(2023, 06, 03, 0, 0, 0, 0, time.Local) + result := IsWeekend(date) + assert.Equal(true, result) + + date1 := time.Date(2023, 06, 04, 0, 0, 0, 0, time.Local) + result1 := IsWeekend(date1) + assert.Equal(true, result1) + + date2 := time.Date(2023, 06, 02, 0, 0, 0, 0, time.Local) + result2 := IsWeekend(date2) + assert.Equal(false, result2) +} diff --git a/docs/datetime.md b/docs/datetime.md index a54b85f..30deea6 100644 --- a/docs/datetime.md +++ b/docs/datetime.md @@ -56,6 +56,7 @@ import ( - [IsLeapYear](#IsLeapYear) - [BetweenSeconds](#BetweenSeconds) - [DayOfYear](#DayOfYear) +- [IsWeekend](#IsWeekend)
@@ -1076,3 +1077,83 @@ func main() { // 0 } ``` + +### IsWeekend + +

Checks if passed time is weekend or not.

+ +Signature: + +```go +func IsWeekend(t time.Time) bool +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/datetime" +) + +func main() { + date1 := time.Date(2023, 06, 03, 0, 0, 0, 0, time.Local) + date2 := time.Date(2023, 06, 04, 0, 0, 0, 0, time.Local) + date3 := time.Date(2023, 06, 02, 0, 0, 0, 0, time.Local) + + result1 := datetime.IsWeekend(date1) + result2 := datetime.IsWeekend(date2) + result3 := datetime.IsWeekend(date3) + + fmt.Println(result1) + fmt.Println(result2) + fmt.Println(result3) + + // Output: + // true + // true + // false +} +``` + +### IsWeekend + +

判断日期是否是周末。

+ +函数签名: + +```go +func IsWeekend(t time.Time) bool +``` + +示例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/datetime" +) + +func main() { + date1 := time.Date(2023, 06, 03, 0, 0, 0, 0, time.Local) + date2 := time.Date(2023, 06, 04, 0, 0, 0, 0, time.Local) + date3 := time.Date(2023, 06, 02, 0, 0, 0, 0, time.Local) + + result1 := datetime.IsWeekend(date1) + result2 := datetime.IsWeekend(date2) + result3 := datetime.IsWeekend(date3) + + fmt.Println(result1) + fmt.Println(result2) + fmt.Println(result3) + + // Output: + // true + // true + // false +} +``` diff --git a/docs/datetime_zh-CN.md b/docs/datetime_zh-CN.md index 53f786e..b0636a2 100644 --- a/docs/datetime_zh-CN.md +++ b/docs/datetime_zh-CN.md @@ -56,6 +56,8 @@ import ( - [IsLeapYear](#IsLeapYear) - [BetweenSeconds](#BetweenSeconds) - [DayOfYear](#DayOfYear) +- [IsWeekend](#IsWeekend) +