C# DateTime到字符串解析-按年份排序

C# DateTime到字符串解析-按年份排序,c#,.net,datetime,string-formatting,C#,.net,Datetime,String Formatting,我有一个从googleapi收集数据的应用程序。当我向API发送查询时,它只接受字符串格式的日期yyyy-MM-dd,这很好。出于这个原因,我正在将这个DateTime变量转换为字符串格式yyyy-MM-dd,以便API接受我的请求。我正在将DateTime解析为字符串,因为这将是大型MVC应用程序的一部分,并且我希望在涉及日期的数据方面坚持使用DateTime。在下面的情况下,当我向API发送请求时,start将返回一个日期,如:2014-03-20 Console.WriteLine("En

我有一个从
googleapi
收集数据的应用程序。当我向API发送查询时,它只接受字符串格式的日期
yyyy-MM-dd
,这很好。出于这个原因,我正在将这个DateTime变量转换为字符串格式
yyyy-MM-dd
,以便API接受我的请求。我正在将DateTime解析为字符串,因为这将是大型MVC应用程序的一部分,并且我希望在涉及日期的数据方面坚持使用DateTime。在下面的情况下,当我向API发送请求时,
start
将返回一个日期,如:
2014-03-20

Console.WriteLine("Enter StartDate! (yyyy-MM-dd)");     
var start = Console.ReadLine();
var StartDate = DateTime.ParseExact(start, "yyyy-MM-dd", CultureInfo.InvariantCulture);

我想对按年份返回的日期进行排序,start将从日期列表中返回StartDates作为字符串yyyy MM dd。不知何故,我需要应用一些逻辑,比如说
yyy=year
。是否有标准的程序?

您是对日期时间对象集合还是字符串集合进行排序?这是一个字符串集合,只是“开始”和“结束”作为字符串的列表。如果您的格式是
yyyy-MM-dd
格式,您只需按照通常的方式进行排序,这将按年排序,然后按月排序,然后到了第二天,我可能会遗漏一些东西,但如果你只是问如何将日期排序为yyyy MM dd格式的字符串,那么正如Chris Ballard所说的那样,将它们正常排序,就像这些一样。。考虑用所提到的格式解析字符串,将其转换为UNIX时间戳,并存储。以这种方式分类要容易得多。示例:我个人使用Jon Skeet的NodaTime库。这是一个很好的工具,尤其是当你进入涉及时区的日期时,C#
DateTime
库开始变得非常混乱。