Skip to content

Instantly share code, notes, and snippets.

@ernado
Last active December 26, 2015 21:18
Show Gist options
  • Save ernado/7214592 to your computer and use it in GitHub Desktop.
Save ernado/7214592 to your computer and use it in GitHub Desktop.
func GetCurrentTimeForGroup(a *app.App, group string) (t time.Time, weekday int, week string, today bool, err error) {
// получаем текущее время
t = time.Now()
today = true
// определим, нужно ли нам показывать сегодняшнее расписание
// или завтрашнее
// TODO: сделать это зависимым от расписания, а не хардкодом
if t.Hour() > 18 {
today = false
t = t.Add(time.Hour*24)
}
// получаем текущий день недели
weekday = int(t.Weekday())
// приводим к привычному нам формату (т.е. понедельник=0)
if weekday == 0 {
weekday = 6
}
weekday--
// получаем текущую неделю
_, firstweek := time.Date(2013, time.September, 2, 00, 0, 0, 0, time.UTC).ISOWeek()
_, curweeknum := t.ISOWeek()
if (curweeknum-firstweek)%2 == 0 {
week = "first"
} else {
week = "second"
}
return t, weekday, week, today, err
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment