datetime - 在 Go 中如何处理没有日期的挂钟时间?
问题描述
我想知道在 Golang 中是否有任何现有的包来处理没有日期的日期时间。
问题如下。想象一下,我想存储有关公司班次的信息,包括班次何时开始和结束,我会创建如下内容:
import "time"
type Shift struct {
StartTime time.Time
FinishTime time.Time
// More fields
}
问题是,字段 time.Time 还存储有关日、月和年的信息,这可能会导致在比较班次时出现一些问题。
有没有像 Civil.Date (https://pkg.go.dev/cloud.google.com/go/civil)这样的替代方法,但只是时间而不是日期?
解决方案
为了有时间并省略有关日、月和年的其他信息,您可以使用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))
}
输出:
Date 2009-11-10 23:00:00 +0000 UTC m=+0.000000001
Time 23:00:00
推荐阅读
- sql - 在这种情况下我应该使用哪个 sqlite 查询
- android - Azure NotificationHub 推送通知不适用于 Android 8.0 API 26
- swift - 带有共享扩展的后台上传
- javascript - 在promise中出现错误后继续子循环 - try/catch
- c# - c#datagridview当按钮单击允许用户添加行
- c# - C# 需要帮助确保将多次出现的相同字母标记为数字
- wordpress - 为什么即使我卸载了 WP-Socializer 插件,我也无法在移动版上删除社交图标?
- php - cURL/GuzzleHTTP 检查直接下载链接的状态码
- python - Python Coverage - 不覆盖函数内容,只是定义
- visual-studio-code - 你如何在 VSCode 中取消拆分终端?