我想知道 Golang 中是否有任何现有的包可以处理没有日期的日期时间。
问题如下。想象一下,我想存储有关公司轮班的信息,包括轮班开始和结束的时间,我会创建如下内容:
import "time"
type Shift struct {
StartTime time.Time
FinishTime time.Time
// More fields
}
Run Code Online (Sandbox Code Playgroud)
问题是,字段 time.Time 还存储有关日、月和年的信息,这可能会在比较轮班时导致一些问题。
有没有像 Civil.Date ( https://pkg.go.dev/cloud.google.com/go/civil ) 这样的替代方案,但只是时间而不是日期?
小智 2
为了节省时间并省略有关年、月、日的其他信息,您可以使用Format()方法。我创建了一个示例程序,如下所示:
package main
import (
"fmt"
"time"
)
func main() {
const (
layoutTime = "15:04:05"
)
fmt.Println("Date", time.Now())
fmt.Println("Time", time.Now().Format(layoutTime))
}
Run Code Online (Sandbox Code Playgroud)
输出:
Date 2009-11-10 23:00:00 +0000 UTC m=+0.000000001
Time 23:00:00
Run Code Online (Sandbox Code Playgroud)