gte/internal/task/date.go

58 lines
736 B
Go
Raw Normal View History

2021-01-29 17:22:07 +01:00
package task
2021-01-30 11:20:12 +01:00
import (
"time"
)
2021-01-29 17:22:07 +01:00
2021-01-30 11:20:12 +01:00
type Date struct {
t time.Time
}
func NewDate(year, month, day int) *Date {
var m time.Month
switch month {
case 1:
m = time.January
case 2:
m = time.February
case 3:
m = time.March
case 4:
m = time.April
case 5:
m = time.May
case 6:
m = time.June
case 7:
m = time.July
case 8:
m = time.August
case 9:
m = time.September
case 10:
m = time.October
case 11:
m = time.November
case 12:
m = time.December
}
t := time.Date(year, m, day, 10, 0, 0, 0, time.UTC)
if year == 0 && month == 0 && day == 0 {
t = time.Time{}
}
return &Date{
t: t,
}
}
func (d *Date) String() string {
if d.t.IsZero() {
return "no date"
}
2021-01-29 17:22:07 +01:00
2021-01-30 11:20:12 +01:00
return d.t.Format("2006-01-02")
2021-01-29 17:22:07 +01:00
}