获取当前周一日期_go 基础 日期时间封装 (查询,比较,增加)

查询

package gomimport "time"const DATETIME = "2006-01-02 15:03:04"const DATE = "2006-01-02"const DATELOG = "20060102"const TIME = "15:03:04"// 废除func Parse(ymdhis string) time.Time {    timeObj, _ := time.ParseInLocation("2006-01-02 15:04:05", ymdhis, time.Local)    return timeObj}// 获取ymdhis格式的objfunc ParseDatetime(ymdhis string) time.Time {    timeObj, _ := time.ParseInLocation("2006-01-02 15:04:05", ymdhis, time.Local)    return timeObj}// 获取ymd格式的objfunc ParseDate(ymd string) time.Time {    timeObj, _ := time.ParseInLocation("2006-01-02", ymd, time.Local)    return timeObj}// 获取当前毫秒时间戳func NowMillis() int64 {    return Millis(time.Now())}// 获取某个时间obj的毫秒时间戳func Millis(timeObj time.Time) int64 {    return timeObj.UnixNano() / 1e6}// 获取上个月第一天0点func GetFirstDateOfLastMonth() time.Time {    d := time.Now()    d = d.AddDate(0, -1, -d.Day()+1)    return time.Date(d.Year(), d.Month(), d.Day(), 0, 0, 0, 0, d.Location())}// 获取本周周一的日期func GetFirstDateOfWeek() (weekStartDate time.Time) {    now := time.Now()    offset := int(time.Monday - now.Weekday())    if offset > 0 {        offset = -6    }    weekStartDate = time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, time.Local).AddDate(0, 0, offset)    return}// 获取上周的周一日期func GetLastWeekFirstDate() (lastWeekMonday time.Time) {    thisWeekMonday := GetFirstDateOfWeek()    thisWeekMondayStr := thisWeekMonday.Format("2006-01-02")    TimeMonday, _ := time.ParseInLocation("2006-01-02", thisWeekMondayStr, time.Local)    lastWeekMonday = TimeMonday.AddDate(0, 0, -7)    return}

获取  格式化:

func main()  {fmt.Println(time.Now())fmt.Println(time.Now().Local())fmt.Println("--------------")//currentTime := time.Now().Local()newFormat := currentTime.Format("2006-01-02 15:04:05.000")fmt.Println(newFormat)fmt.Println("--------------")myTime := time.Date(2018, time.December, 17, 23, 59, 59, 999, time.UTC)myTime1 := time.Date(2018, time.December, 17, 23, 59, 59, 999, time.UTC)fmt.Println("MyTime:", myTime.Format("2006-01-02 15:04:05.000"))fmt.Println("--------------")if myTime==myTime1 {    fmt.Println("=======")}

增加:

import "strings" func main() {// Add 时间相加now := time.Now()// ParseDuration parses a duration string.// A duration string is a possibly signed sequence of decimal numbers,// each with optional fraction and a unit suffix,// such as "300ms", "-1.5h" or "2h45m".//  Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".// 10分钟前m, _ := time.ParseDuration("-1m")fmt.Println(m)m1 := now.Add(m)fmt.Println(m1)fmt.Println("----------------------------")// 8个小时前h, _ := time.ParseDuration("-1h")h1 := now.Add(8 * h)fmt.Println(h1)fmt.Println("----------------------------")// 一天前d, _ := time.ParseDuration("-24h")d1 := now.Add(d)fmt.Println(d1)fmt.Println("----------------------------")printSplit(50)fmt.Println("----------------------------")// 10分钟后mm, _ := time.ParseDuration("1m")mm1 := now.Add(mm)fmt.Println(mm1)fmt.Println("----------------------------")// 8小时后hh, _ := time.ParseDuration("1h")hh1 := now.Add(hh)fmt.Println(hh1)fmt.Println("----------------------------")// 一天后dd, _ := time.ParseDuration("24h")dd1 := now.Add(dd)fmt.Println(dd1) printSplit(50)fmt.Println("----------------------------")// Sub 计算两个时间差subM := now.Sub(m1)fmt.Println(subM.Minutes(), "分钟")fmt.Println("----------------------------")sumH := now.Sub(h1)fmt.Println(sumH.Hours(), "小时")fmt.Println("----------------------------")sumD := now.Sub(d1)fmt.Printf("%v 天\n", sumD.Hours()/24) } func printSplit(count int) {fmt.Println(strings.Repeat("#", count))}

比较:

 func main() {   format := "2006-01-02 15:04:05"   now := time.Now()   //now, _ := time.Parse(format, time.Now().Format(format))   a, _ := time.Parse(format, "2022-03-10 11:00:00")   b, _ := time.Parse(format, "2015-03-10 16:00:00")   fmt.Println("now:", now.Format(format), "\na:", a.Format(format), "\nb:", b.Format(format))   fmt.Println("---    a > now  >  b   -----------")   fmt.Println("now  a   After: ", now.After(a))   fmt.Println("now  a   Before:", now.Before(a))   fmt.Println("now  b   After:", now.After(b))   fmt.Println("now  b   Before:", now.Before(b))   fmt.Println("a  b   After:", a.After(b))   fmt.Println("a  b   Before:", a.Before(b))   fmt.Println(now.Format(format), a.Format(format), b.Format(format))   fmt.Println(now.Unix(), a.Unix(), b.Unix())}

ced8997f9a3b1af6fe4d92448049f289.png

03fd88553f463fbe06bf65fdfd5a1003.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值