打印每个日期列表剩余的减少天数
Prints decreased days left with each List of date
我有一个可以做两件事的解决方案;
- 打印从今天到特定日期(仅星期五)的日期列表。
- 显示从今天的日期到我硬编码的日期剩余的天数
现在我的解决方案同时显示日期和当前格式:
Friday, March 26, 2021
Friday, April 2, 2021
Friday, April 9, 2021
Friday, April 16, 2021
Friday, April 23, 2021
Friday, April 30, 2021
Friday, May 7, 2021
Friday, May 14, 2021
Friday, May 21, 2021
Friday, May 28, 2021
Friday, June 4, 2021
Friday, June 11, 2021
Friday, June 18, 2021
Friday, June 25, 2021
Friday, July 2, 2021
Friday, July 9, 2021
Friday, July 16, 2021
Friday, July 23, 2021
Friday, July 30, 2021
Friday, August 6, 2021
Friday, August 13, 2021
Days left: 141
但我希望以这种格式显示;
Friday, March 26, 2021 (days left - 141)
Friday, April 2, 2021 (days left - 134)
Friday, April 9, 2021 (days left - 127)
Friday, April 16, 2021 (days left - 120)
Friday, April 23, 2021 (days left - 113)
Friday, April 30, 2021 (days left - 106)
Friday, May 7, 2021 (days left - 99)
Friday, May 14, 2021 (days left - 92)
Friday, May 21, 2021 (days left - 85)
Friday, May 28, 2021 (days left - 78)
Friday, June 4, 2021 (days left - 71)
Friday, June 11, 2021 (days left - 64)
Friday, June 18, 2021 (days left - 57)
Friday, June 25, 2021 (days left - 50)
Friday, July 2, 2021 (days left - 43)
Friday, July 9, 2021 (days left - 36)
Friday, July 16, 2021 (days left - 29)
Friday, July 23, 2021 (days left - 22)
Friday, July 30, 2021 (days left - 15)
Friday, August 6, 2021 (days left - 8)
Friday, August 13, 2021 (days left - 1)
这是我的解决方案;
static void Main()
{
var dates = new List<DateTime>();
DateTime from = DateTime.Today;
DateTime dateOnlyStart = from.Date;
DateTime to = new DateTime(2021, 08, 14);
DateTime dateOnlyEnd = to.Date;
double dayLeft = to.Subtract(dateOnlyStart).TotalDays;
//var to = DateTime.Today.AddDays(14);
for (var dt = dateOnlyStart; dt <= dateOnlyEnd; dt = dt.AddDays(1))
{
dates.Add(dt);
}
var allFridays = dates.Where(x => (int)x.DayOfWeek == 5);
foreach (var date in allFridays)
{
Console.WriteLine(date.ToString("D"));
}
Console.WriteLine($"Days left: {dayLeft}");
//Console.WriteLine($"{string.Join(Environment.NewLine, allFridays)} {Environment.NewLine} Days left: {dayLeft}");
Console.ReadKey();
}
请告诉我如何在不省略 LINQ 查询的情况下执行此操作,在此先感谢
在循环中的控制台输出中包含剩余天数计算:
foreach (var date in allFridays)
{
Console.WriteLine($@"{date.ToString("D")} (days left - {to.Subtract(date).TotalDays})");
}
我有一个可以做两件事的解决方案;
- 打印从今天到特定日期(仅星期五)的日期列表。
- 显示从今天的日期到我硬编码的日期剩余的天数
现在我的解决方案同时显示日期和当前格式:
Friday, March 26, 2021
Friday, April 2, 2021
Friday, April 9, 2021
Friday, April 16, 2021
Friday, April 23, 2021
Friday, April 30, 2021
Friday, May 7, 2021
Friday, May 14, 2021
Friday, May 21, 2021
Friday, May 28, 2021
Friday, June 4, 2021
Friday, June 11, 2021
Friday, June 18, 2021
Friday, June 25, 2021
Friday, July 2, 2021
Friday, July 9, 2021
Friday, July 16, 2021
Friday, July 23, 2021
Friday, July 30, 2021
Friday, August 6, 2021
Friday, August 13, 2021
Days left: 141
但我希望以这种格式显示;
Friday, March 26, 2021 (days left - 141)
Friday, April 2, 2021 (days left - 134)
Friday, April 9, 2021 (days left - 127)
Friday, April 16, 2021 (days left - 120)
Friday, April 23, 2021 (days left - 113)
Friday, April 30, 2021 (days left - 106)
Friday, May 7, 2021 (days left - 99)
Friday, May 14, 2021 (days left - 92)
Friday, May 21, 2021 (days left - 85)
Friday, May 28, 2021 (days left - 78)
Friday, June 4, 2021 (days left - 71)
Friday, June 11, 2021 (days left - 64)
Friday, June 18, 2021 (days left - 57)
Friday, June 25, 2021 (days left - 50)
Friday, July 2, 2021 (days left - 43)
Friday, July 9, 2021 (days left - 36)
Friday, July 16, 2021 (days left - 29)
Friday, July 23, 2021 (days left - 22)
Friday, July 30, 2021 (days left - 15)
Friday, August 6, 2021 (days left - 8)
Friday, August 13, 2021 (days left - 1)
这是我的解决方案;
static void Main()
{
var dates = new List<DateTime>();
DateTime from = DateTime.Today;
DateTime dateOnlyStart = from.Date;
DateTime to = new DateTime(2021, 08, 14);
DateTime dateOnlyEnd = to.Date;
double dayLeft = to.Subtract(dateOnlyStart).TotalDays;
//var to = DateTime.Today.AddDays(14);
for (var dt = dateOnlyStart; dt <= dateOnlyEnd; dt = dt.AddDays(1))
{
dates.Add(dt);
}
var allFridays = dates.Where(x => (int)x.DayOfWeek == 5);
foreach (var date in allFridays)
{
Console.WriteLine(date.ToString("D"));
}
Console.WriteLine($"Days left: {dayLeft}");
//Console.WriteLine($"{string.Join(Environment.NewLine, allFridays)} {Environment.NewLine} Days left: {dayLeft}");
Console.ReadKey();
}
请告诉我如何在不省略 LINQ 查询的情况下执行此操作,在此先感谢
在循环中的控制台输出中包含剩余天数计算:
foreach (var date in allFridays)
{
Console.WriteLine($@"{date.ToString("D")} (days left - {to.Subtract(date).TotalDays})");
}