【问题标题】:how to sort date in c# [closed]如何在c#中对日期进行排序[关闭]
【发布时间】:2016-01-22 07:10:09
【问题描述】:

我在一个变量中有很多日期,例如:

var date = hfAllDates.Value.Split('#');

日期变量中有四个日期(01/01/2016,22/01/2016,18/01/2016,05/01/2016)。

如何对日期进行排序。

谢谢

【问题讨论】:

  • 我不明白你的问题。 hfAllDates 到底是什么?您没有对任何东西进行排序,而是在拆分某些东西,但这也不清楚。
  • 你试过了吗?
  • 日期的类型是string[]吗?然后您可能需要先将每个元素转换为DateTime。然后你就可以轻松排序了。
  • 这不是this question 的完全重复,因为它处理的是列表而不是数组。但是,考虑到将数组转换为列表是多么容易,该问题的答案仍然适用。

标签: c# asp.net arrays


【解决方案1】:

添加命名空间using System.Linq;

并使用 LINQ 查询

升序

  var orderedDateList = date.OrderBy(x => DateTime.Parse(x)).ToList();

降序

var orderedDateList = date.OrderByDescending(x => DateTime.Parse(x)).ToList();

【讨论】:

    【解决方案2】:

    首先将datestring[]转换为List<DateTime>

    List<DateTime> dtList = date.Select(x => DateTime.Parse(x)).ToList();
    

    然后你就可以轻松排序了:

    dtList.Sort();
    

    【讨论】:

      【解决方案3】:

      使用 Linq 的OrderBy:

      var sortedDates = date.OrderBy(x =&gt; DateTime.Parse(x));

      var sortedDates = date.OrderByDescending(x =&gt; DateTime.Parse(x));

      如果您需要对日期进行降序排序

      【讨论】:

        【解决方案4】:

        我建议使用 Linq

        var date = hfAllDates.Value.Split('#')
          .Select(line => DateTime.Parse(x))
          .OrderBy(x => x)
          .ToList();
        

        【讨论】:

          猜你喜欢
          • 2021-10-17
          • 1970-01-01
          • 1970-01-01
          • 2013-12-18
          • 2015-02-27
          • 2021-02-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多