C#如何将日期25APR18转换为2018-04-26?

gen*_*ene 0 c# datetime-format datetime-conversion

这个问题可能已在这里得到解答,但我找不到任何答案.我正在尝试将字符串25APR18转换为2018-04-25.

我试着做以下事情:

DateTime.ParseExact("25APR18", "yyyy-mm-dd", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

但它没有转换,并给我错误说"字符串未被识别为有效的DateTime".

我找不到合适的解决方案.

有什么建议?

der*_*kat 6

您可以使用:

DateTime date = DateTime.ParseExact("25APR18", "ddMMMyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

字符串格式区分大小写,表示您要匹配的输入格式.小写mm代表分钟但你需要月份缩写名称 MMM,这是你发布的代码的一个问题.可以在此处找到格式说明符的完整列表.

获得DateTime对象后,您可以使用新格式将日期检索为字符串:

string formattedDate = date.ToString("yyyy-MM-dd");
Run Code Online (Sandbox Code Playgroud)

哪个产生:

2018年4月25日

  • 虽然代码可能是正确的,但这个答案缺乏解释.它不再是一个简单的代码转储.请尽量详细说明当代码中的代码错误时,此代码的正确性是什么原因. (2认同)