1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-08 14:42:27 +08:00

doc: add doc for DayOfYear

This commit is contained in:
dudaodong
2023-05-31 10:04:59 +08:00
parent 46ecb117a5
commit 09ec5b97a6
5 changed files with 156 additions and 48 deletions

View File

@@ -238,9 +238,12 @@ func BetweenSeconds(t1 time.Time, t2 time.Time) int64 {
return index
}
func DayOfYear(t1 time.Time) int {
y, m, d := t1.Date()
firstDay := time.Date(y, 1, 1, 0, 0, 0, 0, t1.Location())
nowDate := time.Date(y, m, d, 0, 0, 0, 0, t1.Location())
// DayOfYear returns which day of the year the parameter date `t` is.
// Play: todo
func DayOfYear(t time.Time) int {
y, m, d := t.Date()
firstDay := time.Date(y, 1, 1, 0, 0, 0, 0, t.Location())
nowDate := time.Date(y, m, d, 0, 0, 0, 0, t.Location())
return int(nowDate.Sub(firstDay).Hours() / 24)
}

View File

@@ -369,3 +369,23 @@ func ExampleBetweenSeconds() {
// 86400
// -86400
}
func ExampleDayOfYear() {
date1 := time.Date(2023, 02, 01, 1, 1, 1, 0, time.Local)
result1 := DayOfYear(date1)
date2 := time.Date(2023, 01, 02, 1, 1, 1, 0, time.Local)
result2 := DayOfYear(date2)
date3 := time.Date(2023, 01, 01, 1, 1, 1, 0, time.Local)
result3 := DayOfYear(date3)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
// Output:
// 31
// 1
// 0
}

View File

@@ -274,15 +274,15 @@ func TestIsLeapYear(t *testing.T) {
func TestDayOfYear(t *testing.T) {
assert := internal.NewAssert(t, "TestDayOfYear")
date := time.Date(2023, 02, 01, 1, 1, 1, 0, time.Local)
result := DayOfYear(date)
assert.Equal(31, result)
date1 := time.Date(2023, 01, 02, 1, 1, 1, 0, time.Local)
date1 := time.Date(2023, 02, 01, 1, 1, 1, 0, time.Local)
result1 := DayOfYear(date1)
assert.Equal(1, result1)
assert.Equal(31, result1)
date2 := time.Date(2023, 01, 02, 1, 1, 1, 0, time.Local)
result2 := DayOfYear(date2)
assert.Equal(1, result2)
date3 := time.Date(2023, 01, 01, 1, 1, 1, 0, time.Local)
result2 := DayOfYear(date3)
assert.Equal(0, result2)
result3 := DayOfYear(date3)
assert.Equal(0, result3)
}