【问题标题】:How to dynamically add week name with dates starting from monday as table header?如何动态添加日期从星期一开始的星期名称作为表头?
【发布时间】:2020-08-05 03:51:25
【问题描述】:

我正在尝试创建一个 c# mvc 应用程序来显示每个员工的时间表。我想动态创建一个表,表头应包含以下值:

星期一 20-04-2020 |星期二 21-04-2020|星期三 22-04-2020|星期四 23-04-2020|星期五 24-04-2020|星期六 25-04-2020|星期日 26-04-2020 >

我是初学者,所以我对它了解不多,并坚持了一段时间。提前致谢。

【问题讨论】:

  • 向我们展示您迄今为止所做的尝试,以便我们在您遇到困难时为您提供帮助。
  • 格式化日期字符串是您的问题吗?还是ui控件?我投票结束这个问题,因为它很模糊

标签: c# asp.net-mvc razor dynamic


【解决方案1】:

如果您想列出当前工作日,从星期一开始,您可以这样做:

var today = DateTime.Now;       
var startDate = today.AddDays(-(((today.DayOfWeek - DayOfWeek.Monday) + 7) % 7));
var endDate = startDate.AddDays(7);
var currentWeekDays = Enumerable.Range(0, 7).Select(x => startDate.AddDays(x));

如果您想格式化日期以获取Mon 20-04-2020,您可以使用格式"ddd dd-MM-yyyy"

总而言之,您可以通过以下方式获得Mon 20-04-2020|Tue 21-04-2020|Wed 22-04-2020|Thu 23-04-2020|Fri 24-04-2020|Sat 25-04-2020|Sun 26-04-2020

var formattedCurrentWeekDays = currentWeekDays.Select(d => d.ToString("ddd dd-MM-yyyy")).ToList();
var result = string.Join("|", formattedCurrentWeekDays);
Console.WriteLine(result);

【讨论】:

    猜你喜欢
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多