Golang 时间和日期
在 Golang 中,我们可以使用内置的 "time" 包来处理时间和日期。以下是一些常见的操作和示例代码:
- 获取当前时间:
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
fmt.Println("Current time:", t)
}
- 解析时间字符串:
package main
import (
"fmt"
"time"
)
func main() {
t, err := time.Parse("2006-01-02 15:04:05", "2022-01-01 12:00:00")
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Parsed time:", t)
}
- 格式化时间为字符串:
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
formatted := t.Format("2006-01-02 15:04:05")
fmt.Println("Formatted time:", formatted)
}
- 计算两个时间之间的差异:
package main
import (
"fmt"
"time"
)
func main() {
t1, _ := time.Parse("2006-01-02", "2022-01-01")
t2 := time.Now()
diff := t2.Sub(t1)
fmt.Println("Difference:", diff)
}
- 在时间上添加或减去一段时间:
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
future := t.Add(24 * time.Hour)
past := t.Add(-24 * time.Hour)
fmt.Println("Future time:", future)
fmt.Println("Past time:", past)
}
- 检查时间是否等于或在另一个时间之前或之后:
package main
import (
"fmt"
"time"
)
func main() {
t1 := time.Now()
t2 := t1.Add(10 * time.Minute)
if t1.Equal(t2) {
fmt.Println("t1 and t2 are equal")
} else {
fmt.Println("t1 and t2 are not equal")
}
if t1.Before(t2) {
fmt.Println("t1 is before t2")
} else {
fmt.Println("t1 is not before t2")
}
if t1.After(t2) {
fmt.Println("t1 is after t2")
} else {
fmt.Println("t1 is not after t2")
}
}
以上代码提供了 Golang 中时间和日期操作的基本示例。"time" 包提供了操作时间的多种函数和方法,可以根据需要进行更复杂的时间计算和操作。
评论已关闭