当前位置:网站首页>[go ~ 0 to 1] obtain timestamp, time comparison, time format conversion, sleep and timer on the seventh day

[go ~ 0 to 1] obtain timestamp, time comparison, time format conversion, sleep and timer on the seventh day

2022-07-07 08:15:00 Autumn sunset

1. Time stamp

1.1 Get the current timestamp

Time stamp means 1970 year 1 month 1 Japan 0 when 0 branch To the present Millisecond value

// Get the timestamp 
func getTimeStamp() {
    
	now := time.Now()
	unix := now.Unix()
	fmt.Println(unix)
}

1.2 Timestamp conversion

	now := time.Now()
	// now Is the return value 
	unix := now.Unix()
	fmt.Println(unix)

	//  Convert timestamps to time 
	// time It's a bag  Unix  It's the method name 

	t := time.Unix(unix, 0)

	fmt.Println(t)

2. Time plus minus , Compare

2.1 Get the current time year month Japan

// Get the current time 
now := time.Now()
fmt.Println(now)

// Get current year 
year := now.Year()

// Get the current month 
month := now.Month()

// Get current day 
day := now.Day()

// Get the current hour 
hour := now.Hour()

// Get the current minute 
minute := now.Minute()

// Get the current second 
second := now.Second()

	fmt.Printf(" The current time is  %d  year  %d  month  %d  Japan  %d  when  %d  branch  %d  second ", year, month, day, hour, minute, second)

2.2 Add the time

	//  Get the current time 
	now := time.Now()

	//  The current time plus  1.5 Hours  = 1 Hours  30  minute 
	duration := time.Duration(time.Hour + time.Duration(30)*time.Minute)

	add := now.Add(duration)

	fmt.Println(add)

2.3 Calculate the time interval

	//  Calculation  2018 year 8 month 8 Japan   To  1999 year 8 month 8 The time interval between days 
	//  East eight 
	location, _ := time.LoadLocation("Asia/Shanghai")
	new := time.Date(2018, 8, 8, 0, 0, 0, 0, location)
	old := time.Date(1999, 8, 8, 0, 0, 0, 0, location)

	sub := new.Sub(old)

	fmt.Println(sub)

2.4 Judge whether the time is before Before

	// Get the current time 
	now := time.Now()

	// Subtract... From the current time 30 minute   Note that   Minus sign 
	duration := time.Minute * 30

	old := now.Add(-duration)

	//  Judge  old  Whether in  new  Before 
	flag := old.Before(now)

	fmt.Println(flag)  //  Output results  true

2.5 Judge whether the current time is later After

	// Get the current time 
	now := time.Now()

	// current time   Extra day 
	add := now.Add(time.Duration(time.Hour) * 24)

	//  Judge  add  Whether in  now  after 
	println(add.After(now)) // true

3. Sleep And Timer

3.1 Sleep

	fmt.Println(" Sleep 5 second  ", time.Now().Second())
	// The program sleeps here 5 second 
	time.Sleep(time.Second * 5)
	fmt.Println(" End of sleep  ", time.Now().Second())

3.2 Timer

	num := 0
	//  Define a timer that executes once per second 
	for t := range time.Tick(time.Second) {
    
		// perform 5 Seconds later 
		if num++; num >= 5 {
    
			return
		}
		fmt.Println(t.Second())

	}

4. Time formatting and conversion

4.1 Time format output

Fixed number Corresponding format
2006yyyy
01MM
02dd
15HH
04mm
05SS
	//  Get the current time 
	now := time.Now()

	//  Format the current time 
	format := now.Format("2006/01/02 15/04/05")

	fmt.Println(format)

4.2 Convert string to Time

	str := "2022/07/04 22/40/50"

	t, _ := time.Parse("2006/01/02 15/04/05", str)

	fmt.Println(t) // Default time zone  2022-07-04 22:40:50 +0000 UTC

	//  Resolve in the specified time zone 
	location, _ := time.LoadLocation("Asia/Shanghai")

	inLocation, _ := time.ParseInLocation("2006/01/02 15/04/05", str, location)

	fmt.Println(inLocation) // East eight  2022-07-04 22:40:50 +0800 CST

end practice

1. Count the running time of the program , Accurate to nanoseconds

	begin := time.Now().Nanosecond()
	beginUnixMilli := time.Now().UnixMilli()
	beginSecond := time.Now().Second()
	strToTime()
	fmt.Printf(" The program runs  %d  nanosecond  \n", time.Now().Nanosecond()-begin)
	fmt.Printf(" The program runs  %d  millisecond  \n", time.Now().UnixMilli()-beginUnixMilli)
	fmt.Printf(" The program runs  %d  second ", time.Now().Second()-beginSecond)
原网站

版权声明
本文为[Autumn sunset]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207070518438521.html