gpt4 book ai didi

javascript - 在 MongoDB 中插入错误的日期

转载 作者:可可西里 更新时间:2023-11-01 10:46:50 25 4
gpt4 key购买 nike

我正在尝试使用 C# 在我的 MongoDB 表中保存日期。

这是一个使用 Ajax 将数据发送到 C# Controller 的 JavaScript 逻辑

$(function ($, w, d) {
var _user = {}
//var time = moment("2016-04-02", "YYYYMMDD").fromNow()
//var bime = moment().endOf('day').fromNow();
//var crime = moment("20120620", "YYYYMMDD").fromNow();
// document.getElementById('time').innerHTML = time;
var obj = {};
var holidaylist = ["Mar-31-2018", "Apr-01-2018","Apr-04-2018","Apr-07-2018","Apr-08-2018"];
var startdate = new Date("Apr-02-2018");

obj.endDate = "Apr-06-2018";
obj.holidaylist = holidaylist;
obj.NumberOfCount = 9;
CallAjax("POST", '/LeaveManagement/', 'checkleavelogic', obj, onsuccessaddemployee, '');

这是在 MongoDB 中保存数据的 C# 逻辑:

public JsonResult checkLeaveLogic(LeaveLogicModel leaveLogic)
{
string strconnectiomstring = "mongodb://10.10.32.125:27017";
MongoClient Client = new MongoClient(strconnectiomstring);
var DB = Client.GetDatabase("TimeClock");

List<DateTime> leavesDate = new List<DateTime>();
var collection = DB.GetCollection<LeaveLogicModel>("leaves1");
collection.InsertOne(leaveLogic);
}

现在这是保存为以前日期的 MongoDB 表。

Mongodb DataBase Record

在这里您可以看到我的StartDateApr-02-2018 但它保存为Apr-01-2018 和所有日期是一样的。

谁能告诉我哪里错了?

最佳答案

当您仅使用日期或日期和时间创建新日期时,它通常会在与程序相同的时区创建它们。

因此,如果您不指定时区,它将成为服务器所在的时区。当您保存到 Mongo 时,日期被序列化为 UTC -> 零时区。

使用 +00:00 时区创建日期,您应该拥有一致的数据。

关于javascript - 在 MongoDB 中插入错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49792726/

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