【发布时间】:2017-03-13 10:51:03
【问题描述】:
我有一个错误“字符串未被识别为有效的日期时间”。在我的项目中添加“datetimepicker”时出现此错误。 我该如何解决这个问题?我尝试了其他解决方案,但没有帮助。
Datetime garanti_baslangici = DateTime.Parse(
GarantiBaslangici.Text, System.Globalization.CultureInfo.InvariantCulture);
.aspx 代码
<asp:TextBox ID="GarantiBaslangici" CssClass="datepicker" runat="server" />
【问题讨论】:
-
你说的是哪个控件? ASP.NET MVC 和 WebForms 有不同的控件。尽管它们都将选定的值作为
DateTime值提供。您不需要解析文本。 -
@PanagiotisKanavos 我添加了 .aspx 代码。我不能使用 value 因为这是一个文本框?
-
我认为这应该可行 - 只要输入的文本代表有效的日期时间。您正在尝试使用不变的文化(基本上意味着 UTC 时间)解析字符串,但您的日期选择器可能会以本地文化返回字符串。因此,如果它返回,例如“10/31/2016”而不是“31/10/2016”,您将收到此错误。
-
这不是一个日期时间选择器,它只是一个顶部带有一些 javascript 插件的文本框。你用的是哪个插件?插件返回 ISO8601 格式的值,或者您需要找到确切的格式。在这两种情况下,您都需要使用
DateTime.ParseExact或DateTime.TryParseExact -
对于 ISO8601,您可以尝试预定义的
s或o格式,YYYY-MM-DDTHH:mm:ss或YYYY-MM-DDTHH:mm:ssZ。各种选项描述in this possibly duplicate SO question
标签: c# asp.net datetime webforms