go - 在 golang 中结合时间和日期?

标签 go

假设我有

t := time.Parse("15:04:05.000", "12:16:54.016")

这将返回一个 time.Time,它打印为:

0000-01-01 12:16:54.016 +0000 UTC

但我知道实际日期是什么,并将其存储为一个名为 timestamp 的变量,它已经是一个 time.Time 结构。如何组合它们?

例如假设日期是 2019-06-17。我需要的输出是:

2019-06-17 12:16:54.016 +0000 UTC

// this doesn't compile
ts.AddDate(timestamp.Year(), timestamp.Month(), timestamp.Day())


cannot use timestamp.Month() (type time.Month) as type int in argument to ts.AddDate 

这应该是微不足道的吧?好吧,这是我最习惯的 C 语言。但是我还没有轻松找到golang的答案。文档没有告诉我实际的基础字段名称,只是功能。 :-/

最佳答案

package main

import (
    "fmt"
    "log"
    "time"
)

func main() {
    d, err := time.Parse("2006-01-02", "2019-06-17")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(d)

    t, err := time.Parse("15:04:05.000", "12:16:54.016")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(t)

    f := d.Add(time.Hour*time.Duration(t.Hour()) + time.Minute*time.Duration(t.Minute()) + time.Second*time.Duration(t.Second()) + time.Nanosecond*time.Duration(t.Nanosecond()))
    fmt.Println(f)
}

关于go - 在 golang 中结合时间和日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57066301/

相关文章:

linux - Golang os.Create 权限被拒绝

string - 组合或构造韩文字母

json - Golang 优雅地解码不同的 JSON 结构

sql - 如何在go中使用sql server包

go - 如何创建一个函数来接受来自任何结构的任何对象的任何调用?

memory - 我是否需要从函数中释放或释放 map ?

go - 反正执行 goroutine 时所有 goroutines 都睡着了

node.js - 什么是 Node 的 NODE_ENV 的 Golang 等价物

linux - 如何在Linux中获取逻辑卷信息?

来自其他包的 golang 结构