首页 > 解决方案 > C# 如何将日期 25APR18 转换为 2018-04-26?

问题描述

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

我尝试执行以下操作:

DateTime.ParseExact("25APR18", "yyyy-mm-dd", CultureInfo.InvariantCulture);

但它不会转换并给我一个错误说“字符串未被识别为有效的日期时间”。

我无法找到正确的解决方案。

有什么建议么?

标签: c#datetime-formatdatetime-conversion

解决方案


您可以使用:

DateTime date = DateTime.ParseExact("25APR18", "ddMMMyy", CultureInfo.InvariantCulture);

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

一旦你有了一个 DateTime 对象,你就可以用新格式将日期作为字符串检索:

string formattedDate = date.ToString("yyyy-MM-dd");

产生:

2018-04-25


推荐阅读