Go 时间转换-星期

daytime, _ := time.Parse("2006-01-02", day)
var weekday = daytime.Weekday()
fmt.Println(weekday, int(daytime.Weekday()), daytime.Weekday())

Output : Friday 5 Friday

感觉输出好诡异,明明是一个Int类型,为何不强转的情况下是个string形式的输出。

Weekday的类型源码定义

type Weekday int

const (
    Sunday Weekday = iota
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
)

time中的Weekday()方法源码

// Weekday returns the day of the week specified by t.
func (t Time) Weekday() Weekday {
    return absWeekday(t.abs())
}

// absWeekday is like Weekday but operates on an absolute time.
func absWeekday(abs uint64) Weekday {
    // January 1 of the absolute year, like January 1 of 2001, was a Monday.
    sec := (abs + uint64(Monday)*secondsPerDay) % secondsPerWeek
    return Weekday(int(sec) / secondsPerDay)
}

真感觉好诡异,始终是ToYoung😳

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,919评论 0 38
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,558评论 25 708
  • 你,我,一直一直 走下去, 重来不问我的理由 永远给我无语的支持, 我们没有猜忌 我们有百分百的默契, 我的你,你...
    浪迹书海阅读 340评论 1 6
  • 文/曲尚菇凉 今天下雪了,今年的第一场雪,中午打完水回宿舍看到外面飘着雪激动的拿着手机去操场上拍照片。 初雪时任何...
    曲尚阅读 1,254评论 2 6
  • 关于故乡,是地图上一个小点 但摊开了,仍有万千的物件 譬如:云彩,空旷里四处奔跑 太阳,在一群野鸡背上搁浅 譬如乡...
    大江翻腾神曳烟阅读 149评论 0 0