C# 用C对日期时间列表进行排序#

C# 用C对日期时间列表进行排序#,c#,C#,我想对格式化为要解析为dateTime的字符串列表进行排序 例如: 19-06-2014 18-06-2014 17-06-2014 //都是弦 使用此代码块: var orderedList = newlist.OrderByDescending( x => DateTime.Parse(x)).ToList(); 这给了我以下异常:字符串未被识别为 有效日期时间 据我所知,如果要将其解析为dateTime,XX-XX-XXX是正确的?使用dateTime。ParseExact或Tr

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

例如:

19-06-2014
18-06-2014
17-06-2014
//都是弦

使用此代码块:

var orderedList = newlist.OrderByDescending( x => DateTime.Parse(x)).ToList();
这给了我以下异常:字符串未被识别为 有效日期时间


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

使用
dateTime。ParseExact
TryParseExact
因为
dd-MM-yyyyy
在大多数区域性中不是标准的日期格式(通常是
dd/MM/yyyyy
MM/dd/yyyyyyy

IEnumerable DTE=
日期字符串。选择(
str=>DateTime.ParseExact(str,“dd-MM-yyyy”,CultureInfo.InvariantCulture)
).
OrderByDescending(dt=>dt);

使用
DateTime。ParseExact
TryParseExact
作为
dd-MM-yyyyy
在大多数区域性中不是标准的日期格式(通常是
dd/MM/yyyyy
MM/dd/yyyyyy

IEnumerable DTE=
日期字符串。选择(
str=>DateTime.ParseExact(str,“dd-MM-yyyy”,CultureInfo.InvariantCulture)
).
OrderByDescending(dt=>dt);

yyyy-MM-dd
对于机器可读的标准格式…@JonSkeet OP没有说他负责字符串的格式,否则我会设置转储unix时间的int64;)@Dai我认为Jon的观点是,
yyyy-mm-dd
仍然是人类可读的和明确的,因为没有文化使用
yyy-dd-mm
格式。或者
yyy-mm-dd
作为机器可读的标准格式…@JonSkeet OP没有说他对他的字符串的格式负责,否则,我将设置为转储unix时间的int64;)@Dai我认为Jon的观点是,
yyyy-mm-dd
仍然是人类可读的和明确的,因为没有文化使用
yyy-dd-mm
格式。
IEnumerable<DateTime> dtes =
    datesAsString.Select(
        str => DateTime.ParseExact( str, "dd-MM-yyyy", CultureInfo.InvariantCulture )
    ).
    OrderByDescending( dt = > dt );