123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package tfelem
- import (
- "strconv"
- "strings"
- "time"
- )
- type WeekDayElement struct {
- UseEnglishWeekday bool
- UseAbbr bool
- Fill bool
- }
- func (this *WeekDayElement) ExpectedSize() int {
- if this.UseEnglishWeekday {
- if this.UseAbbr {
- return 3
- } else {
- return 9
- }
- } else {
- return 1
- }
- }
- func (this *WeekDayElement) PrintElement(t time.Time) string {
- m := t.Weekday()
- if this.UseEnglishWeekday {
- s := m.String()
- if this.UseAbbr {
- return s[:3]
- } else {
- if this.Fill {
- return s + strings.Repeat(" ", 9-len(s))
- } else {
- return s
- }
- }
- } else {
- mint := int(m) + 1
- return strconv.Itoa(mint)
- }
- }
- func NewEnglishWeekDayElement(abbrevation bool, fill bool) *WeekDayElement {
- return &WeekDayElement{
- UseEnglishWeekday: true,
- UseAbbr: abbrevation,
- Fill: fill,
- }
- }
- func NewNumbericWeekDayElement() *WeekDayElement {
- return &WeekDayElement{
- UseEnglishWeekday: false,
- UseAbbr: false,
- Fill: false,
- }
- }
|