DateTime.ParseExact 不能像我预期的那样工作



我正在尝试将日期时间(在 C# 中)从 en-US 解析为 de-DE 或只是以不同的格式解析。输入的日期时间为 06/17/2015 09:22:30 AM

我尝试过:

DateTime date = DateTime.ParseExact(dateString, "d.MM.yyyy HH:mm:ss", new CultureInfo("de-DE"));

DateTime date = DateTime.ParseExact(dateString, "d.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture);

在这两个版本中,我都有相同的输出 - 这意味着输出与输入相同,没有任何变化。我可以在 ToString() 方法中更改它,但我需要它作为日期时间。

string test = datum.ToString("d.MM.yyyy HH:mm:ss");
output is `17.06.2015 09:22:30`
当前

线程的当前文化信息可能是问题所在吗?因为当前线程设置为文化信息en-US。我已将CultureInfo.DefaultThreadCurrentUICulture设置为 de-DE但也没有用。

我错过了什么?我敢肯定这只是我脑海中缺失的一点。如果解决方案真的很容易 - 抱歉浪费时间 - 无论如何,谢谢你的每一个答案!

这是

CultureInfo.InvariantCulture的默认格式,所以你不需要使用ParseExact

DateTime date = DateTime.Parse(dateString, CultureInfo.InvariantCulture);
string inGermanFormat = date.ToString("d.MM.yyyy HH:mm:ss", new CultureInfo("de-DE"));

相关内容

  • 没有找到相关文章

最新更新