在.net中,知道周数如何获得工作日日期?
我想在 C# 中创建一个函数,该函数将返回一周的天数。
例如,第 40 周,我如何获得天数: 4/10、5/10、6/10、7/10、8/10、9/10、10/10。
先感谢您!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想在 C# 中创建一个函数,该函数将返回一周的天数。
例如,第 40 周,我如何获得天数: 4/10、5/10、6/10、7/10、8/10、9/10、10/10。
先感谢您!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
我认为这应该满足您的要求:
虽然我将星期日视为一周的第一天,但如果您希望星期一作为第一天,则更改范围从 (0,7) 到 (1,7)。
如果你想符合ISO标准,我认为这应该可行:
I think this should do what you want:
Although I treat Sunday as first day of week, if you want Monday as first day change range from (0,7) to (1,7).
If you want to conform the ISO standard, I think this should work:
大多数人往往会犯这个错误,我所说的错误是指不符合 ISO8601 周日期(我们在瑞典经常使用这个)标准。这个计算有点奇怪,但它可以归结为 .NET 中的这段代码:
它将计算一年中的日期 (yyyy)、周数 (ww) 和星期几 (d)。为此,它首先使用内置日历建立一月一日(因此可以自定义此代码)。这有点奇怪,因为第 53 周有时发生在 1 月,有时第 1 周发生在 12 月。
如果您需要采取其他方式,这并不完全是微不足道的,但此处显示了在 .NET 中执行此操作的正确方法。
Most people tend to get this wrong and by wrong I mean not conform to the ISO8601 week date (we use this a lot in Sweden) standard. This calculation is kinda strange but it boils down to this code in .NET:
It will compute the date of a year (yyyy), week number (ww) and day of week (d). It does so by first establishing the first of January using the built-in calendar (so this code can be customized). The reason this is a bit strange is because week 53 sometimes occur in January and sometimes week 1 occurs in December.
If you need go the otherway it's not entirely trivial but the correct way to do this in .NET is shown here.
以下函数将帮助您从周数和年份获取开始日期
The following function will help you to get starting date from week number and year