解析法语日期
我正在尝试将法国日期解析为 DateTime
对象,但到目前为止还没有成功。有办法做到这一点吗?
String foo = "mar, 20 avr 2010 09:00:00 -0500";
我已经尝试过解析不同的文化并改变线程的文化。
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA",true);
CultureInfo culture = new CultureInfo("fr-CA",true);
DateTime.Parse(foo,culture,DateTimeStyles.AdjustToUniversal);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您只能解析(使用 Parse 或 ParseExact)格式化 DateTime 时可以创建的内容。
与示例输入最接近的自定义格式说明符可能是这样的:
代码:
这会产生以下结果:
如您所见,短日和短月说明符(
ddd
和MMM< /code>)在名称后添加
.
,时区说明符 (zzz
) 插入:
。我相信不可能欺骗 ToString 生成所需的输出,从而也不用 ParseExact 解析结果。我想您必须使用普通的旧字符串操作自己解析字符串。
You can only parse (with Parse or ParseExact) what you can create when formatting a DateTime.
The closest custom format specifier to your example input is probably something like this:
Code:
This produces the following result:
As you can see, the short day and short month specifier (
ddd
andMMM
) add a.
after the name, and the time-zone specifier (zzz
) inserts a:
.I believe it's not possible to trick ToString into generating the desired output, and thereby also not to parse the result with ParseExact. I guess you have to parse the string yourself using plain old string manipulation.
我认为您将得到的最接近的是
为什么 DateTime.Parse 不起作用:
DateTime.Parse 说
在我的计算机上,使用此代码,我得到以下格式。您的模式似乎不在列表中。
The closest I think you're going to get is
Why DateTime.Parse doesn't work:
The documentation for DateTime.Parse says that
On my computer, using this code, I get the following formats. It looks like your pattern isn't in the list.
日期名称和月份名称未正确缩写,它们需要句点。如果你可以按摩绳子,那么你就可以让它发挥作用:
The day name and month name are not properly abbreviated, they need a period. If you can massage the string then you could make it work: