Go的time扩展基本使用

package main

import (
	"fmt"
	"time"
)

// 基本使用
func testTime() {
	// 当前时间
	now := time.Now()
	fmt.Printf("current time:%s \n", now)

	// 年,月,日,小时,分钟,秒数, time.Now().Year()......
	year := time.Now().Year()
	month := time.Now().Month()
	day := time.Now().Day()
	hour := time.Now().Hour()
	minute := time.Now().Minute()
	second := time.Now().Second()
	fmt.Printf("%02d-%02d-%02d %02d:%02d:%02d \n", year, month, day, hour, minute, second)

	// 获取当前时间戳
	timestamp := time.Now().Unix()
	fmt.Printf("Timestemp is %d \n", timestamp)
}

// 时间戳转换成时间
func timestampToDateTime(timestamp int64) {
	timeObj := time.Unix(timestamp, 0)
	fmt.Println(timeObj.Format("2006/01/02 15:04:05"))
}

// 解析字符串时间日期
func DateTimeParse() {
	datetime := "2020-08-20 23:05:26"
	timeObj, _ := time.Parse("2006-01-02 15:04:05", datetime)
	fmt.Println(timeObj)
}

// 编写定时任务
func testTicker() {
	// 时间管道
	ticker := time.Tick(time.Second)

	// 循环
	for i := range ticker {
		fmt.Println(i)
	}
}

// 定时任务处理函数
func processTask() {
	fmt.Println("定时任务处理程序")
}

// 格式化输出时间格式
func formatTime() {
	now := time.Now()
	fmt.Println(now.Format("2006-01-02 15:04:05"))
	fmt.Println(now.Format("2006/01/02 15:04:05"))
}

// 使用Printf()输出格式化时间
func formatTimeByPrintf() {
	now := time.Now()
	year := now.Year()
	month := now.Month()
	day := now.Day()
	hour := now.Hour()
	minute := now.Minute()
	second := now.Second()
	fmt.Printf("%02d-%02d-%02d %02d:%02d:%02d \n", year, month, day, hour, minute, second)
}

// 秒常量
func testTimeConst() {
	// 纳秒
	fmt.Println(time.Nanosecond)
	// 微妙
	fmt.Println(time.Microsecond)
	// 毫秒
	fmt.Println(time.Millisecond)
	// 秒
	fmt.Println(time.Second)
}

func main() {
	// 记录程序执行时间,精确到微妙
	start := time.Now().UnixNano()

	testTime()
	timestampToDateTime(time.Now().Unix() + 3600)
	DateTimeParse()
	//testTicker()
	formatTime()
	formatTimeByPrintf()
	testTimeConst()

	end := time.Now().UnixNano()
	cost := (end - start) / 1000
	fmt.Printf("Code usedtime: %d us", cost)
}

当你的所拥有的知识撑不起你的野心的时候,你只能静下心去努力学习! When your knowledge does not support your ambition, you can only calm down and study hard!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值