gpt4 book ai didi

c# - Javascript 日期到 ASP.NET 日期 : String was not recognized as a valid DateTime

转载 作者:行者123 更新时间:2023-11-29 18:15:00 29 4
gpt4 key购买 nike

我使用以下方法通过 AJAX 将日期传回我的 MVC Controller :

date.GetDate().toLocaleDateString();

这将产生一个值“4/5/2014”...当我尝试在我的 Controller 中使用以下方法转换它时:

DateTime myDate = DateTime.ParseExact(request.Params["myDate"], "dd/MM/yyyy", CultureInfo.InvariantCulture);

我得到“字符串未被识别为有效的日期时间。”这是有道理的,因为字符串的格式不正确...当我将字符串硬编码为:“04/05/2014”时,它将解决我的问题。

有没有办法修复来自 javascript 的格式,而不必将字符串分成日、月、年并以正确的格式重新组合?

如有任何建议,我们将不胜感激!

谢谢

附加信息:

string myRequestDate = request.Params["myDate"];
string myViewBagDate = ViewBag.MyDate;

//This line passes
DateTime date1 = DateTime.ParseExact(myViewBagDate, "d/M/yyyy", CultureInfo.InvariantCulture);

//This line fails...
DateTime date5 = DateTime.ParseExact(myRequestDate, "d/M/yyyy", CultureInfo.InvariantCulture);

当我在两个字符串变量上添加一个 watch 时,我看到的各个方面的值都是相同的,但由于某种原因,第二行失败了......

因此,当我将 myRequestDate 视为一个字符数组时,我发现其中有一堆看起来根本不像日期的东西......

enter image description here

最佳答案

字符 8206 (U+200E) 是 Unicode 从左到右的标记(不可见)。尝试找出它的来源并从源头上将其删除。

作为解决方法,您可以在解析日期之前删除这些字符:

myRequestDate = myRequestDate.Replace("\u200E", "");
DateTime date5 = DateTime.ParseExact(myRequestDate, "d/M/yyyy", CultureInfo.InvariantCulture);

关于c# - Javascript 日期到 ASP.NET 日期 : String was not recognized as a valid DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24044042/

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