我在 JS 和 C#(asp.net core 2.1)中遇到了一個(gè)奇怪的日期問(wèn)題。我在前端添加日期并嘗試使用以下 JavaScript 將它們發(fā)回服務(wù)器:$("#editOperation").on("submit", function(e) { e.preventDefault(); var form = $(this); var url = form.attr("action"); // change date to YYYY-MM-DD format for (let i = 0; i < form[0].length; i++) { if (form[0][i].className.includes("hdn-exclude-")) { if (form[0][i].value) { var date = moment(form[0][i].value); form[0][i].value = date.format('YYYY-MM-DD'); } } } var formData = new FormData(form.get(0)); $.ajax({ url: url, data: formData, type: "post", contentType: false, processData: false, success: function (response) { if (response.result) { toastr.success("Success!"); setTimeout(function () { window.location = $("#cancelEditOperation").attr("href"); }, 1000); } else { toastr.error(response.errorMessage); } } }); });然而,我遇到的問(wèn)題是,當(dāng)一個(gè)日期在任何給定月份的 12 日之后(例如13/07/2018- 澳大利亞格式),那么 C# 似乎無(wú)法解析它并給它一個(gè)默認(rèn)值1/01/0001 12:00:00 AM.如果日期有任何給定月份的 BEFORE 或 ON 12 日(例如 12/06/2018),那么它在 C# 方面將是正確的 6/12/2018 12:00:00 AM這是我在 C# 中的模型:public class GetOperationExcludeDate{ public DateTime StartDate { get; set; } public DateTime EndDate { get; set; }}而我的行動(dòng):[HttpPost("EditOperation/{id}")][AutoValidateAntiforgeryToken]public async Task<ApiBooleanResponse> EditOperation(string id, GetOperationExcludeDate model){ return await _transportCompanyService.EditServiceOperationAsync(id, model);}我如何能夠規(guī)范化我的日期,以便 C# 能夠根據(jù)區(qū)域識(shí)別格式并正確解析它?(我可以看到,當(dāng)給出澳大利亞格式時(shí),它正試圖將其解析為美國(guó)格式)
使用 MomentJS 從 JavaScript 發(fā)布到 C# 時(shí)的日期解析問(wèn)題
BIG陽(yáng)
2021-08-07 15:21:40