(Translated by https://www.hiragana.jp/)
GitHub - fivezjd/all: golang官方包、gin、grpc、go-zero的使用方法
Skip to content
/ all Public

golangかんかたつつめ、gin、grpc、go-zeroてき使用しよう方法ほうほう

License

Notifications You must be signed in to change notification settings

fivezjd/all

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

かんかたつつみてき使用しよう

所有しょゆう详细使用しようざいしめせれいちゅう查看

时间处理

时间てき获取计算

获取とうぜん时间

time.Now()

时间てき

time.Now().Add(time.Second * 10) time.Now().Add(time.Second * -10)

时间てき

// 时间てんてき较🆚
func TestTimeCompare(t *testing.T) {
	timeOne := time.Now()

	timeTwo := time.Now().Add(time.Second * 1000)

	// 较两个时间是相等そうとう
	t.Log(timeOne.Equal(timeTwo))

	// 判断はんだん时间One いやざい时间Twoきさき
	t.Log(timeOne.After(timeTwo))

	// 判断はんだん时间Oneいやざい时间Twoまえ
	t.Log(timeOne.Before(timeTwo))

	// 判断はんだん时间间的值
	t.Log(timeTwo.Sub(timeOne))

	// 判断はんだんとうぜん时间指定してい时间てき以间せっようらい计算ほどじょてき执行时间

	t.Log(time.Since(timeOne))
}

时间戳

// 获取时间戳

func TestTimeUnix(t *testing.T) {
	// びょう级时间戳
	t.Log(time.Now().Unix())

	// 毫秒级时间戳
	t.Log(time.Now().UnixMilli())

	// 微妙びみょう级时间戳
	t.Log(time.Now().UnixMicro())

	// 纳秒时间戳
	t.Log(time.Now().UnixNano())
}

时间てき格式かくしき解析かいせき

// 时间てき格式かくしき解析かいせき

func TestFormat(t *testing.T) {

	// 按如格式かくしき输出とうぜん时间:

	// 12しょう时制 2006-01-02 03:04:05 PM
	t.Log(time.Now().Format("2006-01-02 03:04:05 PM"))

	// 24しょう时制
	t.Log(time.Now().Format("2006-01-02 15:04:05"))

	// つき份日ちゅう带前导0
	t.Log(time.Now().Format("2006-1-2 15:04:05"))

	// 时分秒ふんびょうちゅう带前导0
	t.Log(time.Now().Format("2006-01-02 3:4:5"))

	// 解析かいせき 2023-04-10 21:32:38 解析かいせきくし
	parse, err := time.Parse("2006-01-02 15:04:05", "2023-04-10 21:32:38")
	if err != nil {
		t.Error(err)
	}
	t.Log(parse)
}

时区てき处理

// 时区てき处理
func TestLoc(t *testing.T) {
	// 创建时区
	location, err := time.LoadLocation("Asia/Shanghai")
	if err != nil {
		t.Fatal(err)
	}
	// 指定してい时区
	f := time.Now().In(location).Format("2006-01-02 15:04:05")
	t.Log(f)

	// 设置だま认时
	time.Local = location
}

时间てきつね量定りょうてい

// 时间てきつね量定りょうてい义

func TestConst(t *testing.T) {
	// 时
	t.Log(time.Hour)

	// ぶん
	t.Log(time.Minute)

	// びょう
	t.Log(time.Second)
}

くし时间てき转换

はた时间转换为字くし

はたくし转换为时间

はた时间按指定してい时区转为くし

はたくし指定してい时区转为时间

// 如果わが设置时区,だま认的时区哪里?

func TestDefaultLoc(t *testing.T) {
	// 设置本地ほんじ时区,并且かえしかい本地ほんじ时间
	t.Log(time.Now().Local())

	// 创建时区
	location, err := time.LoadLocation("Asia/Shanghai")
	if err != nil {
		t.Fatal(err)
	}
	// 设置だま认时
	time.Local = location

	// 获取设置てき时区
	t.Log(time.Now().Location())
	// out: Asia/Shanghai
}

const Format = "2006-01-02 15:04:05"

/**
くし时间てき转换
*/

// くし转换为时间
func TestStringToTime(t *testing.T) {
	timeString := "2023-04-12 12:31:54"
	parse, err := time.Parse(Format, timeString)
	if err != nil {
		return
	}
	t.Log(parse)
}

// はたくし指定していてき时区转换为时间

func TestStringToTimeInLoc(t *testing.T) {
	timeString := "2023-04-12 12:31:54"
	parse, err := time.ParseInLocation(Format, timeString, time.Local)
	if err != nil {
		return
	}
	t.Log(parse)
}

てい时器睡眠すいみん

てい时器

じゅうおけてい时器

停止ていしてい时器

无限循环てい时器

睡眠すいみん

// てい时器睡眠すいみん

// 指定してい时间きさき执行にん务

func TestTimerFuc(t *testing.T) {
	timer := time.NewTimer(time.Second * 5)
	select {
	case v := <-timer.C:
		t.Log(v)
	}
}

// 指定してい时间きさき执行函数かんすう

func TestTimeFunc1(t *testing.T) {
	var wg sync.WaitGroup
	wg.Add(1)
	timer := time.AfterFunc(time.Second*3, func() {
		wg.Done()
		t.Log("3びょうきさき执行りょう此函すう")
	})
	wg.Wait()
	defer timer.Stop()
}

// てい时任务

func TestTicker(t *testing.T) {
	//
	ticker := time.NewTicker(time.Second * 3)
	for {
		select {
		case v := <-ticker.C:
			t.Log(v)
		}
	}
}

// じゅうおけてい时器

func TestRest(t *testing.T) {
	ticker := time.NewTicker(time.Second * 3)
	ticker.Reset(time.Second * 2)
}

// 停止ていしてい时器

func TestStop(t *testing.T) {
	ticker := time.NewTicker(time.Second * 3)
	defer ticker.Stop()
}

// 睡眠すいみん指定してい时间

func TestSleep(t *testing.T) {
	time.Sleep(time.Second)
}

にち历和时间てき计算

时间戳和时间相互そうご转换

计算间的

にち计算

にち格式かくしき

/**
くし时间てき转换
*/

// くし转换为时间
func TestStringToTime(t *testing.T) {
	timeString := "2023-04-12 12:31:54"
	parse, err := time.Parse(Format, timeString)
	if err != nil {
		return
	}
	t.Log(parse)
}

// はたくし指定していてき时区转换为时间

func TestStringToTimeInLoc(t *testing.T) {
	timeString := "2023-04-12 12:31:54"
	parse, err := time.ParseInLocation(Format, timeString, time.Local)
	if err != nil {
		return
	}
	t.Log(parse)
}

くし处理

ぶんけん处理

About

golangかんかたつつめ、gin、grpc、go-zeroてき使用しよう方法ほうほう

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages