gpt4 book ai didi

postgresql - 如何在 Golang 中将 YYYY-MM-DD 字符串格式转换为时间戳?

转载 作者:数据小太阳 更新时间:2023-10-29 03:31:46 25 4
gpt4 key购买 nike

如果这是一个微不足道的问题,我很抱歉。这就是我目前所拥有的。

    snapshot = "2017-07-25"
snapshotFilter := " AND cdate = %s"
snapshot, err := time.Parse(time.RFC3339, snapshot)
if err != nil {
log.Fatal(err)
}
queryFilter = queryFilter + fmt.Sprintf(snapshotFilter, pq.FormatTimestamp(snapshot))

这是输出

2017/09/12 09:59:34 parsing time "2017-07-25" as "2006-01-02T15:04:05Z07:": cannot parse "" as "T".

我正在尝试以正确的格式获取快照,以便将其插入到 postgres 查询中。

我正在使用

"database/sql"
"time"
"github.com/gorilla/mux"
"github.com/lib/pq"

编辑:似乎这更多是 postgres 的问题,2017-07-25 只需要用引号括起来并放在 postgres 查询字符串中。

最佳答案

正如已经建议的那样,使用这个:

package main

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

const layout = "2006-01-02"

func main() {
snapshot := "2017-07-25"
t, err := time.Parse(layout, snapshot)
if err != nil {
log.Fatal(err)
}
fmt.Println(t)
}

正如您在 documentation of constants for the time package 中看到的那样有引用日期

Layout      = "01/02 03:04:05PM '06 -0700" // The reference time, in numerical order.

用于指定日期/时间字符串布局。因此,您提供了一个字符串,每次出现的 3 都会被替换为您的时间点的 12h am/pm 表示法中的小时,并且每次出现的 15 都会被替换为小时例如,以 24 小时表示。

这种方法的所有缺陷和问题都在 documentation 中的一些示例代码中进行了解释。 .

关于postgresql - 如何在 Golang 中将 YYYY-MM-DD 字符串格式转换为时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46182136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com