C#中的DateTime.Parse抛出异常

C#中的DateTime.Parse抛出异常,第1张

概述我不知道为什么抛出异常,这是工作代码: DateTime.Parse("1/12/2012 12:00:00 AM") 这是抛出异常的那个: DateTime.Parse("1/13/2012 12:00:00 AM") 抛出的异常是“FormatException”,包含此消息: “字符串未被识别为有效的DateTime.” 这是CurrentCulture值: System.Globaliza 我不知道为什么抛出异常,这是工作代码:

DateTime.Parse("1/12/2012 12:00:00 AM")

这是抛出异常的那个:

DateTime.Parse("1/13/2012 12:00:00 AM")

抛出的异常是“FormatException”,包含此消息:
“字符串未被识别为有效的DateTime.”

这是CurrentCulture值:

System.Globalization.CultureInfo.CurrentCulture{en-MY}Calendar: {System.Globalization.GregorianCalendar}CompareInfo: {CompareInfo - en-MY}CultureTypes: SpecificCultures | InstalleDWin32CulturesDateTimeFormat: {System.Globalization.DateTimeFormatInfo}displayname: "English (Malaysia)"Englishname: "English (Malaysia)"IEtfLanguageTag: "en-MY"IsNeutralCulture: falseIsReadonly: trueKeyboardLayoutID: 17417LCID: 17417name: "en-MY"Nativename: "English (Malaysia)"NumberFormat: {System.Globalization.NumberFormatInfo}OptionalCalendars: {System.Globalization.Calendar[2]}Parent: {en}TextInfo: {TextInfo - en-MY}ThreeLetterISolanguagename: "eng"ThreeLetterwindowsLanguagename: "ENM"TwoletterISolanguagename: "en"UseUserOverrIDe: true

有谁知道这里发生了什么?

解决方法 因为一年只有12个月;)

我猜你当前的文化背景使用’dd / MM / yyyy’.使用Parse的重载指定要用于解析字符串的文化的日期格式:

DateTime.Parse(String,IFormatProvIDer)

或者使用ParseExact()方法并自己指定格式.

var provIDer = CultureInfo.InvariantCulture;var format = "M/dd/yyyy hh:mm:ss tt";DateTime.ParseExact("1/13/2012 12:00:00 AM",format,provIDer);
总结

以上是内存溢出为你收集整理的C#中的DateTime.Parse抛出异常全部内容,希望文章能够帮你解决C#中的DateTime.Parse抛出异常所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223364.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存