首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在美国服务器上解析意大利语日期

在美国服务器上解析意大利语日期
EN

Stack Overflow用户
提问于 2013-07-24 00:20:05
回答 2查看 2.6K关注 0票数 2

我试图在一个usa服务器上解析这个日期时间,但是它不起作用:

代码语言:javascript
复制
string foo = "13 Lug 2013 14:15";
DateTime arrivalDateConfirmed = DateTime.ParseExact(foo, "dd MMM yyyy HH:mm", new CultureInfo("it-IT"));

在我的意大利测试机器上。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-24 01:12:09

试着转义分号:

代码语言:javascript
复制
DateTime arrivalDateConfirmed = DateTime.ParseExact(foo, "dd MMM yyyy HH\\:mm", new CultureInfo("it-IT"));

您可以在这里找到更多信息:http://madskristensen.net/post/Quirk-in-the-DateTime-class.aspx

其解释是,":“字符被认为是自定义格式说明符,而不是文字字符,在本例中是时间分隔符。解析器将尝试将此分隔符转换为指定的区域性。在这种情况下,它的时间分隔符-IT是“。性格。如果不希望将自定义格式说明符字符转换为区域设置等效字符,请转义自定义格式说明符,如下所示:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#escape

票数 3
EN

Stack Overflow用户

发布于 2013-07-24 00:29:37

您需要将当前线程的区域性设置为意大利语,以便它知道解析意大利日期,而不是解析当前设置的美国日期。您也不需要使用ParseExact,只需使用Parse()即可。当您完成对文化敏感的代码时,一定要将其设置回原处。

代码语言:javascript
复制
string foo = "13 Lug 2013 14:15";
Thread.CurrentThread.CurrentCulture = new CultureInfo("it-IT");
DateTime.Parse(foo);
Console.WriteLine(foo);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17823188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档