用C#对dateTime列表进行排序

本文关键字:排序 列表 dateTime | 更新日期: 2023-09-27 18:26:26

我想对格式化为dateTime 的字符串列表进行排序

例如:

19-06-2014
18-06-2014
17-06-2014

//所有都是字符串

用这个代码块:

var orderedList = newlist.OrderByDescending( x => DateTime.Parse(x)).ToList();

这给了我以下异常:字符串未被识别为有效日期时间。

据我所知,如果你想将XX-XX-XXX解析为dateTime,XX-XXX是正确的吗?

用C#对dateTime列表进行排序

使用DateTime.ParseExactTryParseExact,因为在大多数文化中,dd-MM-yyyy不是标准日期格式(通常为dd/MM/yyyyMM/dd/yyyy)。

IEnumerable<DateTime> dtes =
    datesAsString.Select(
        str => DateTime.ParseExact( str, "dd-MM-yyyy", CultureInfo.InvariantCulture )
    ).
    OrderByDescending( dt = > dt );