c# – CultureInfo.GetCultureInfo(“en-GB”)与en-US日期格式不兼容,但与其他人罚款

c# – CultureInfo.GetCultureInfo(“en-GB”)与en-US日期格式不兼容,但与其他人罚款,第1张

概述为什么第一行代码抛出“String未被识别为有效的DateTime”.例外? en-GB似乎与en-US不兼容,但奇怪地与zh-CN和ru-RU日期格式字符串兼容. 是的我可以简单地将文化信息更改为en-US,以使其与en-US日期格式字符串兼容.但我的问题是为什么en-GB使用zh-CN和ru-RU格式字符串? 有任何想法吗? var obj = DateTime.Parse("11/20/20 为什么第一行代码抛出“String未被识别为有效的DateTime”.例外?

en-GB似乎与en-US不兼容,但奇怪地与zh-CN和ru-RU日期格式字符串兼容.

是的我可以简单地将文化信息更改为en-US,以使其与en-US日期格式字符串兼容.但我的问题是为什么en-GB使用zh-CN和ru-RU格式字符串?

有任何想法吗?

var obj = DateTime.Parse("11/20/2013 3:10:36 AM",CultureInfo.GetCultureInfo(0x0809).DateTimeFormat);//en-US        obj = DateTime.Parse("2013/11/20 3:16:08",CultureInfo.GetCultureInfo(0x0809).DateTimeFormat);//zh-CN        obj = DateTime.Parse("20.11.2013 3:17:44",CultureInfo.GetCultureInfo(0x0809).DateTimeFormat); //ru-RU

0x0809 zh-CN英语(英国)英语

谢谢,

解决方法 您已指定期望en-GB中的DateFormat,其格式通常为dd / MM / yyyy …并且它正在尝试创建Month值为20的日期,该日期不存在.

如果您将预期的输入格式更改为en-US,它将起作用,您的内部日期将是正确的.然后,您可以根据需要将其输出为en-GB格式

var obj = DateTime.Parse("11/20/2013 3:10:36 AM",CultureInfo.GetCultureInfo("en-US").DateTimeFormat);//en-USstring s = obj.ToString(CultureInfo.GetCultureInfo("en-GB").DateTimeFormat); //20/11/2013 03:10:36
总结

以上是内存溢出为你收集整理的c# – CultureInfo.GetCultureInfo(“en-GB”)与en-US日期格式不兼容,但与其他人罚款全部内容,希望文章能够帮你解决c# – CultureInfo.GetCultureInfo(“en-GB”)与en-US日期格式不兼容,但与其他人罚款所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存