rc1
This commit is contained in:
39
timeutil/timeutil.go
Normal file
39
timeutil/timeutil.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package timeutil
|
||||
|
||||
import "time"
|
||||
|
||||
func FirstSecondInPeriod(since time.Time, period string) (_ time.Time) {
|
||||
y, m, d := since.Date()
|
||||
|
||||
switch period {
|
||||
case "h":
|
||||
h := since.Hour()
|
||||
return time.Date(y, m, d, h, 0, 0, 0, time.Local)
|
||||
case "d":
|
||||
return time.Date(y, m, d, 0, 0, 0, 0, time.Local)
|
||||
case "m":
|
||||
return time.Date(y, m, 1, 0, 0, 0, 0, time.Local)
|
||||
default:
|
||||
return since
|
||||
}
|
||||
}
|
||||
|
||||
func LastSecondInPeriod(until time.Time, period string) (_ time.Time) {
|
||||
y, m, d := until.Date()
|
||||
|
||||
switch period {
|
||||
case "h":
|
||||
h := until.Hour()
|
||||
return time.Date(y, m, d, h, 59, 59, 0, time.Local)
|
||||
case "d":
|
||||
return time.Date(y, m, d, 23, 59, 59, 0, time.Local)
|
||||
case "m":
|
||||
tm := time.Date(y, m, 1, 23, 59, 59, 0, time.Local)
|
||||
// Додаю місяць
|
||||
tm = tm.AddDate(0, 1, 0)
|
||||
// Віднімаю день
|
||||
return tm.AddDate(0, 0, -1)
|
||||
default:
|
||||
return until
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user