📜  日期格式 golang (1)

📅  最后修改于: 2023-12-03 15:26:18.534000             🧑  作者: Mango

日期格式 Golang

在 Golang 中,日期格式化主要使用 time 包来完成。日期格式化在处理日志、时间戳等方面非常有用,它允许我们将日期和时间转换为字符串或格式化输出。

日期格式化示例

以下是一个简单的 Golang 程序,它可以将日期和时间格式化为字符串:

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    fmt.Printf("现在的时间是:%v\n", now.Format("2006-01-02 15:04:05"))
}

这个程序会输出当前的时间,它使用 now.Format 方法将日期格式化为字符串。在这个例子中,我们使用了日期格式化字符串 2006-01-02 15:04:05,它是一个特殊的日期格式,它定义了 Golang 中日期格式化的基准。

这里是一些格式化字符的示例:

| 格式化字符 | 描述 | 示例值 | |------------|-----------------------------------------|--------| | Year | 年份,四位数字 | 2006 | | Month | 月份,数字(01-12) | 01 | | Day | 日期,数字(01-31) | 02 | | Weekday | 星期几的完整名称 | Monday | | Hour | 小时,数字(00-23) | 15 | | Minute | 分钟,数字(00-59) | 04 | | Second | 秒钟,数字(00-59) | 05 | | Millisecond| 毫秒,数字(000-999) | 999 | | Microsecond| 微秒,数字(000-999) | 999999 | | Nanosecond | 纳秒,数字(000000000-999999999) | 999999999 | | PM/AM | 上午/下午 | PM | | Timezone | 时区,如 UTC 或 -0700 或 -07:00 或 Z0700 | -0700 | | Mon Jan 2 15:04:05 -0700 MST 2006 | 一个特殊的日期格式,它定义了 Golang 中日期格式化的基准 | |

在格式化字符串中引用本地化日期时间

在格式化字符串中,我们还可以使用 time 包定义的常量来引用本地化日期和时间:

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    fmt.Println("本地日期:", now.Format(time.ANSIC))
    fmt.Println("本地时间:", now.Format(time.Kitchen))
    fmt.Println("时间戳:", now.Unix())
}

这个程序会输出当前本地日期,本地时间以及 UNIX 时间戳。

格式化字符串用于解析时间

我们还可以使用 time.Parse 方法来解析日期时间字符串。以下是一个简单的解析日期时间字符串的示例程序:

package main

import (
    "fmt"
    "time"
)

func main() {
    t1, _ := time.Parse("2006-01-02 15:04:05", "2022-09-11 12:30:00")
    fmt.Println(t1)

    t2, _ := time.Parse("2006-01-02T15:04:05Z0700", "2022-09-11T12:30:00-07:00")
    fmt.Println(t2)
}

这个程序会分别解析两个不同格式的时间字符串并打印输出 parsed time。第一个字符串使用常规格式,而第二个字符串使用 ISO-8601 格式。

结论

在 Golang 中,日期格式化是一个非常有用的工具,它允许我们以特定的格式处理日期和时间,并将它们转换为字符串。使用时间包中提供的格式化字符和常量,我们可以灵活地定义我们期望的日期时间格式。

以上就是有关 Golang 中日期格式化的介绍,希望对你有所帮助。