[英]String was not recognized as a valid DateTime " format dd/MM/yyyy"
[英]"String was not recognized as a valid DateTime." format "yyyy-MM-dd" how i can use this format
我的 txtdate 脚本;
<asp:TextBox ID="txtDate1" AutoComplete="off" runat="server" ></asp:TextBox>
<script type="text/javascript">
$(function () {
$('[id*=txtDate]').datepicker({
changeMonth: true,
changeYear: true,
format: "yyyy/MM/dd",
language: "tr"
});
});
</script>
我尝试在我的日期时间使用格式
DateTime x = DateTime.ParseExact(txtDate1.Text, "yyyy-MM-dd", new CultureInfo("en-US")).AddDays(7);
我收到一个错误:
字符串未被识别为有效的日期时间
但这种格式有效:
DateTime x = DateTime.ParseExact(txtDate1.Text, "dd/MM/yyyy", new CultureInfo("en-US")).AddDays(7);
如何使用格式“yyyy-MM-dd”?
在您的 JS 中,您似乎期望包含此格式format: "yyyy/MM/dd
日期的字符串format: "yyyy/MM/dd
所以您的两个解析都应该是无效的。
那么这个DateTime.ParseExact是如何工作的:
您有可以以不同方式格式化的输入字符串。
DateTime.ParseExact定义为:
public static DateTime ParseExact (string s, string format, IFormatProvider? provider);
文档: https : //docs.microsoft.com/en-us/dotnet/api/system.datetime.parseexact? view = net- 5.0
所以例子:
var dateString = "11/04/2021";
如果你这样做:
var date = DateTime.ParseExact(dateString, "dd/MM/yyyy", new CultureInfo("en-US"));
您的date
将是11th April 2021
但如果你这样做:
var date = DateTime.ParseExact(dateString, "MM/dd/yyyy", new CultureInfo("en-US"));
您的date
将是4th November 2021
添加:
如果你试试这个:
var date = DateTime.ParseExact(dateString, "MM-dd-yyyy", new CultureInfo("en-US"));
您将被抛出System.FormatException: "String was not recognized as a valid DateTime."
仅仅因为字符串是“11/04/2021” ,你告诉你的解析器期待“MM-dd-yyyy”希望现在更清楚。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.