【问题标题】:Group array of dates as one string by month [closed]按月将日期数组分组为一个字符串[关闭]
【发布时间】:2021-08-19 11:24:45
【问题描述】:

我面临下一个挑战。我有一组日期,例如:28.09.21、30.09.21、03.10.21、04.10.21、05.10.21、13.10.21。我想将所有这些日期组合成一个字符串,格式如下:[Sep: 28, 30; 10 月:3-5,13]。如您所见,所有日期均按月份分组,如果日期按顺序排列,则应将其分组为除以“-”的“较小”组。欢迎任何想法!

【问题讨论】:

  • 您应该尝试一下并将该代码添加到您的问题中,具体解释您遇到的问题。开始 如果您的数组实际上不是 Date 实例,我会解析它们,以便您拥有一个 Date 数组。然后按升序对该数组进行排序。然后遍历数组寻找连续的日期。您需要比较月份和日期;如果月份不同或日期不连续,则表示不连续,应将范围添加到输出中

标签: ios swift string nsdateformatter


【解决方案1】:

大致:

  1. 创建一个日期格式化程序并使用它将您的日期字符串转换为日期对象。

  2. 将日期对象按数字顺序排序。

  3. 将您的日期对象映射到包含月份和日期的 DateComponents。

  4. 将您的数组分解为具有相同月份的子数组。

  5. 对于每个月,遍历该月的条目,构建一个描述该月日期的字符串。

  6. 组合每个月的字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 2013-02-11
    • 2018-08-30
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多