package main import "fmt" import "time" func main() { p := fmt.Println // We'll start by getting the current time. now := time.Now() p("time.Now(): ", now) // You can build a "time" struct by providing the // year, month, day, etc. Times are always associated // with a "Location", i.e. time zone. then := time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC) p("time.Date(): ", then) p("==================================") // You can extract the various components of the time // value as expected. p("time.Date().Year(): ", then.Year()) p("time.Date().Month(): ", then.Month()) p("time.Date().Day(): ", then.Day()) p("time.Date().Hour(): ", then.Hour()) p("time.Date().Minute(): ", then.Minute()) p("time.Date().Second(): ", then.Second()) p("time.Date().Nanosecond(): ", then.Nanosecond()) p("time.Date().Location(): ", then.Location()) // The Monday-Sunday "Weekday" is also available. p("time.Date().Weekday(): ", then.Weekday()) p("==================================") // These methods compare two times, testing if the // first occurs before, after, or at the same time // as the second, respectively. p("time.Date().Before(now): ", then.Before(now)) p("time.Date().After(now): ", then.After(now)) p("time.Date().Equal(now): ", then.Equal(now)) p("==================================") // The "Sub" methods returns a "Duration" representing // the interval between two times. diff := now.Sub(then) p("time.Now().Sub(time.Date()): ", diff) p("==================================") // We can compute the length of the duration in // various units. p("time.Date().Sub(then).Hours(): ", diff.Hours()) p("time.Date().Sub(then).Minutes(): ", diff.Minutes()) p("time.Date().Sub(then).Seconds(): ", diff.Seconds()) p("time.Date().Sub(then).Nanoseconds(): ", diff.Nanoseconds()) p("==================================") // You can use "Add" to advance a time by a given // duration, or with a "-" to move backwards by a // duration. p("time.Date().Sub(now).Add(now.Sub(then)): ", now.Add(diff)) p("time.Date().Sub(then).Add(-(now.Sub(then))): ", then.Add(-diff)) }
有疑问加站长微信联系(非本文作者)
![](https://static.golangjob.cn/static/img/footer.png?imageView2/2/w/280)