C# 是什么导致我的代码中出现此错误:字符串未被识别为有效的日期时间

C# 是什么导致我的代码中出现此错误:字符串未被识别为有效的日期时间,c#,asp.net,date,C#,Asp.net,Date,导致错误的此代码段有什么问题: DateTime today = DateTime.Today; DateTime bday = DateTime.Parse(ctxtBirthday.Text); int age = today.Year - bday.Year; ctxtAge.Text = age.ToString(); ctxtBirthday.Text包含日期:1978-03-08 ctxtAge.Text是我想要的年龄

导致错误的此代码段有什么问题:

        DateTime today = DateTime.Today;
        DateTime bday = DateTime.Parse(ctxtBirthday.Text);
        int age = today.Year - bday.Year;
        ctxtAge.Text = age.ToString();
ctxtBirthday.Text
包含日期:
1978-03-08

ctxtAge.Text
是我想要的年龄结果

加载
.aspx
时的错误为:

System.FormatException

字符串未被识别为有效的日期时间


你的文化可能有问题

您可以使用
ParseExact()
而不是
Parse()

您可以在
Parse()
方法中设置所需的区域性:

DateTime bday = DateTime.Parse(ctxtBirthday.Text, CultureInfo.YourCulture); // use needed culture

你的文化可能有问题

您可以使用
ParseExact()
而不是
Parse()

您可以在
Parse()
方法中设置所需的区域性:

DateTime bday = DateTime.Parse(ctxtBirthday.Text, CultureInfo.YourCulture); // use needed culture

如果您准确地告诉我们错误是什么,可能会有所帮助。如果您准确地告诉我们错误是什么,可能会有所帮助。我尝试了您的解决方案,但仍然得到相同的错误。我正在使用NpgSql,这可能是问题的原因吗?@TommyMcGee,您的代码是纯C#,NpgSql不会有问题here@TommyMcGee,您确定文本框中的文本是正确的日期字符串吗?可能有额外的空格或其他内容?是的,你是对的,我的文本框显示的格式不正确。匹配确保格式与代码一致,使一切正常。我尝试了您的解决方案,但仍然出现相同的错误。我正在使用NpgSql,这可能是问题的原因吗?@TommyMcGee,您的代码是纯C#,NpgSql不会有问题here@TommyMcGee,您确定文本框中的文本是正确的日期字符串吗?可能有额外的空格或其他内容?是的,你是对的,我的文本框显示的格式不正确。匹配确保格式与代码一致使一切正常。