当前位置: > > > > 用golang用api节省时间到mongodb,但是时间不匹配
来源:stackoverflow
2024-04-21 17:39:34
0浏览
收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《用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知识!