【发布时间】:2021-06-10 09:46:34
【问题描述】:
我想从输入中返回有效日期并将它们转换为特定格式,例如 yyyyMMdd。我只想返回有效的日期格式
public static List<string> TransformDateFormat(List<string> dates)
{
var formats = new string[]
{
"yyyy/MM/dd",
"dd/MM/yyyy",
"MM-dd-yyyy",
"dd.MM.yyyy"
};
return dates
.Select(date => DateTime.ParseExact(date, formats, null).ToString("yyyyMMdd"))
.ToList();
}
【问题讨论】:
-
使用
TryParseExact,不用LINQ会更方便。 -
@Llama 尝试过,但也没有成功。
-
你能澄清你所说的“它没有用”吗?如果
TryParseExact返回false,则它无法解析该值,因此您不应将其包含在列表中。否则,您可以将结果值包含在列表中。我不明白它怎么行不通? -
@TomasTomov 也返回了一个无效的日期。 “20130720”这个日期应该从列表中删除,当我从列表中删除格式时,它会抛出一个异常,如“NotImplementaiton exception”
-
又是这个问题,怎么把昨天的删了又重新发了?
标签: c# date-formatting c#-8.0