gpt4 book ai didi

c# - 在 C# 中给定周数和年份计算一周的开始和结束日期(基于 ISO 规范)

转载 作者:太空狗 更新时间:2023-10-30 00:09:24 27 4
gpt4 key购买 nike

我需要生成一份报告,显示一年中的 52 周(或某些年份的 53 周)及其开始和结束日期。有一个 ISO 规范可以做到这一点,但看起来非常复杂!我希望有人知道在 C# 或 Visual Basic 中执行此操作的方法(它实际上适用于 Visual Basic 6,但我会尝试将其移植到其他平台)

最佳答案

您可以使用 Calendar.GetWeekOfYear 方法获取日期的周数,使用 CalendarWeekRule.FirstFourDayWeek 值指定周的确定方式,并且 DayOfWeek.Monday 指定第一个工作日。这遵循 ISO 规范。

例子:

int week = Calendar.GetWeekOfYear(DateTime.Today, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);

要获取一年中第一周的第一个日期,可以从1月4日开始往回找,直到找到星期一:

DateTime t = new DateTime(DateTime.Today,Year, 1, 4);
while (t.DayOfWeek != DayOfWeek.Monday) t = t.AddDays(-1);

关于c# - 在 C# 中给定周数和年份计算一周的开始和结束日期(基于 ISO 规范),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1226201/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com