日期时间格式问题:StringnotrecognizedasavalidDateTime:ss格式。输入字符串的格式为MM/dd/yyyyhh:mm:ss例如:“04/30/201323:00”我尝试了Convert.ToDateTime()函数,但它认为4是日期,3是月份,这不是我想要的。实际上月份是04,日期是03。我也尝试了DateTime.ParseExact()函数,但出现异常。我收到错误消息:字符串未被识别为有效的日期时间。您的日期时间字符串不包含任何秒数。您需要在您的格式中反映这一点(删除:ss)。另外,如果使用24小时制,则需要指定H而不是h:更多信息:要自定义日期和时间格式字符串,您可以使用DateTime.ParseExact()方法。使用指定的格式和区域性特定的格式信息将指定的日期和时间字符串表示形式转换为其等效的DateTime。字符串表示的格式必须与指定格式完全匹配。DateTimedate=DateTime.ParseExact("04/30/201323:00","MM/dd/yyyyHH:mm",CultureInfo.InvariantCulture);这是一个演示。hh是01到12的12小时制,HH是00到23的24小时制。有关详细信息,请参阅自定义日期和时间格式字符串试试这个:stringstrTime="04/30/201323:00";日期时间dtTime;如果(DateTime.TryParseExact(strTime,"MM/dd/yyyyHH:mm",System.Globalization.CultureInfo.InvariantCulture,System.Globalization.DateTimeStyles.None,outdtTime)){Console.WriteLine(dtTime);}改变文化,试试这个可能对你有用"en-US"),DateTimeStyles.None);检查细节:DateTime.ParseExactMethod(String,String[],IFormatProvider,DateTimeStyles)DateTimedt1=DateTime.ParseExact([YourDate],"dd-MM-yyyyHH:mm:ss",CultureInfo.InvariantCulture);请注意使用HH(24小时制)而不是Nothh(12小时制),并使用InvariantCulture,因为某些区域性使用斜线以外的分隔符。例如,如果区域性是de-DE,则格式“dd/MM/yyyy”应作为分隔符(31.01.2011)。以下代码对我有用:以上是C#学习教程:Datetimeformatproblem:StringnotrecognizedasavalidDateTime所有内容分享,如果对大家有用,需要详细了解C#学习教程,希望大家多多关注—string_stDate=Convert.ToDateTime(DateTime.Today.AddMonths(-12)).ToString("MM/dd/yyyy");字符串格式="MM/dd/yyyy";IFormatProviderculture=newSystem.Globalization.CultureInfo("fr-FR",true);DateTime_Startdate=DateTime.ParseExact(_stDate,format,culture);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
