登录
首页 >  Golang >  Go问答

用golang用api节省时间到mongodb,但是时间不匹配

来源:stackoverflow

时间:2024-04-21 17:39:34 279浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《用golang用api节省时间到mongodb,但是时间不匹配》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

这是我位于不同 go 文件中的结构

type imagedata struct {
    id   primitive.objectid `json:"id,omitempty" bson:"_id,omitempty"`
    time time.time  `json:"time,omitempty" bson:"time,omitempty"`
    path    string  `json:"path,omitempty" bson:"path,omitempty"`
    sizebefore  string  `json:"sizebefore,omitempty" bson:"sizebefore,omitempty"`
    sizeafter   string  `json:"sizeafter,omitempty" bson:"sizeafter,omitempty"`
    issuccess   bool    `json:"issuccess,omitempty" bson:"issuccess,omitempty"`
}

这是位于不同 go 文件中的创建函数

func createimagedata(w http.responsewriter, r *http.request) {
    w.header().set("content-type", "application/json")
    var image models.imagedata

    json.newdecoder(r.body).decode(&image)
    image.time = time.now()

    collection := database.imagedata()
    ctx, _ := context.withtimeout(context.background(), 10*time.second)
    result, _ := collection.insertone(ctx, image)

    json.newencoder(w).encode(result)
}

当我创建 imagedata 结构并保存到数据库时,时间不匹配 这是我的 mongodb 中的数据

[
    {
        "id": "6453e3a9b680e192e2fb82aa",
        "time": "2023-05-04T16:56:09.67Z",
        "path": "/result/test1.png",
        "sizebefore": "785KB",
        "sizeafter": "785KB"
    }
]

但我的实时时间是2023-05-04t23:57:00

如何解决此问题以使时间准确

抱歉英语不好


正确答案


您可以使用“time”包和“format”函数将日期时间转换为有效格式。

请注意,您需要更改日期时间的格式,因为 mongodb 使用 utc 格式。

这是一个例子:

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now().UTC()
    formatted := now.Format(time.RFC3339Nano)
    fmt.Println(formatted)
}

好了,本文到此结束,带大家了解了《用golang用api节省时间到mongodb,但是时间不匹配》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>