使用以下步骤对包含一系列日期范围的字符串进行排序:
1.将字符串分割为单独的日期范围。
2.将每个范围的起始日期和结束日期转换为DateTime对象。
3.将DateTime对象进行排序。
4.重组排序后的日期范围并返回一个已排序的字符串。
下面是示例代码:
public string SortDateRangeString(string input)
{
string[] dateRanges = input.Split(","); // 将字符串分割为单独的日期范围
Dictionary dateDict = new Dictionary();
foreach (string range in dateRanges)
{
string[] dates = range.Split("-");
DateTime startDate = DateTime.Parse(dates[0].Trim());
DateTime endDate = DateTime.Parse(dates[1].Trim());
dateDict[startDate] = endDate;
// 将每个范围的起始日期和结束日期转换为DateTime对象
}
List sortedDates = dateDict.Keys.ToList();
sortedDates.Sort(); // 将DateTime对象进行排序
StringBuilder sb = new StringBuilder();
foreach (DateTime date in sortedDates)
{
sb.Append(date.ToString("yyyy-MM-dd") + " - " + dateDict[date].ToString("yyyy-MM-dd") + ", ");
// 重组排序后的日期范围并返回一个已排序的字符串
}
return sb.ToString().Trim().TrimEnd(',');
}