go学习笔记——时间操作

一般程序会有获取 Unix 时间 的秒数,毫秒数,或者微秒数的需求。来看看如何用 Go 来实现。

package main

import (
    "fmt"
    "time"
)

func main() {
    p := fmt.Println
    now := time.Now()
    p(now) // 2025-04-10 16:47:40.3532217 +0800 CST m=+0.000614501

    // 秒
    secs := now.Unix()
    p(secs) // 1744274860

    // 纳秒
    ns := now.UnixNano()
    p(ns) // 1744274860353221700

    // 毫秒
    ms := ns / 1000000
    ms2 := time.Now().UnixMilli()
    ms3 := now.UnixMilli()
    p("ms", ms)   // ms 1744274860353
    p("ms2", ms2) // ms2 1744274860360
    p("ms3", ms3) // ms3 1744274860353

    // go中格式化时间 固定需要 2006-01-02 15:04:05(24小时制) 2006-01-02 03:04:05(12小时制)
    msFormat := now.Format("2006-01-02 15:04:05") + fmt.Sprintf(".%03d", now.Nanosecond()/1e6)
    p("msFormat", msFormat)           // msFormat 2025-04-10 16:47:40.353
    p("Nanosecond", now.Nanosecond()) // Nanosecond 353221700

    p(time.Unix(secs, 0))  // 2025-04-10 16:47:40 +0800 CST
    p(time.Unix(0, ns))    // 2025-04-10 16:47:40.3532217 +0800 CST
    p(time.Unix(secs, ns)) // 2080-07-19 01:35:20.3532217 +0800 CST

}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇