You need to enable JavaScript to run this app. C#基于LINQ实现带逐行剩余天数标注的周五日期列表
优惠活动
大模型
产品
解决方案
定价
更多

C#基于LINQ实现带逐行剩余天数标注的周五日期列表

C#控制台日期输出格式调整实现

保留的原有逻辑

  • 完全保留硬编码截止日定义、从当日到截止日全量遍历日期存入集合的原有流程,不做改动
  • 完整保留通过LINQ从日期集合中筛选所有周五条目的查询代码,不替换为其他实现方式
  • 原有总剩余天数的计算逻辑保持不变,可正常展示

格式调整操作

原有输出流程为逐行打印周五长格式日期、末尾单独输出总剩余天数,仅需修改遍历筛选结果时的打印逻辑即可达成目标效果,无需改动上层核心流程:

  • 循环遍历LINQ筛出的周五列表时,对每一个遍历到的周五日期,计算它与截止日的时间差,取整得到该日期到截止日的剩余天数
  • 打印长日期格式文本时,在末尾追加括号标注上述计算出的剩余天数
  • 由于筛选出的周五列表本身按日期升序排列,越靠近截止日的周五,计算出的剩余天数越小,自然形成逐行递减的标注效果

核心代码示例

// 原有LINQ筛选逻辑100%保留,无修改
var fridayList = datePool.Where(item => item.DayOfWeek == DayOfWeek.Friday).ToList();

// 调整后的逐行打印逻辑
foreach (var currentFriday in fridayList)
{
    // 计算当前周五到截止日的剩余天数
    var daysLeft = (hardCodedDeadline.Date - currentFriday.Date).TotalDays;
    Console.WriteLine($"{currentFriday.ToLongDateString()}(距离截止日剩余 {(int)daysLeft} 天)");
}

// 原有总剩余天数展示逻辑保留
var totalDaysLeft = (hardCodedDeadline.Date - DateTime.Today.Date).TotalDays;
Console.WriteLine($"\n当前到截止日的总剩余天数:{(int)totalDaysLeft} 天");

最终展示效果

  • 每一行周五日期条目后,同步标注对应日期到截止日的剩余天数
  • 标注的剩余天数随日期靠近截止日逐行递减,完全符合预期展示要求
  • 原有两项基础功能完整保留,无删减

内容的提问来源于stack exchange,提问作者Zong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.29 04:15:03