📅  最后修改于: 2023-12-03 15:26:18.534000             🧑  作者: Mango
在 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 中日期格式化的介绍,希望对你有所帮助。