如何判断当前日期是当月第几周?

snlixing 2019-10-31 05:07:50
星期一到星期日为一周,
每月1号若为星期四以前的,即星期一至星期四,则1号为本月第一周;
若每月1号为星期四以后的,则1号归到上个月最后一周;
其他日期顺次延伸。
...全文
655 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzyhost 2019-11-01
  • 打赏
  • 举报
回复
https://bbs.csdn.net/topics/70089634
极客诗人 2019-10-31
  • 打赏
  • 举报
回复
通过datetime的 Day(当月第几天)和DayOfWeek(周几) 然后计算即可
北京的雾霾天 2019-10-31
  • 打赏
  • 举报
回复
只是提供了一个做法,不是拿来主义。
snlixing 2019-10-31
  • 打赏
  • 举报
回复
引用 1 楼 北京的雾霾天 的回复:

var now = DateTime.Now;
var firstDay = new DateTime(now.Year, now.Month, 1);

var result = string.Empty;
var w = firstDay.DayOfWeek;
var n = ((now - firstDay).Days / 7);
if (w <= DayOfWeek.Thursday)
{
result =$"今天是本月第{n+1}周";
}
else
{
result = $"今天是本月第{n}周";
}
Console.WriteLine(result);



这个有问题的,比如2019-09-30,应该是10月第一周才对,现在成了第五周了
北京的雾霾天 2019-10-31
  • 打赏
  • 举报
回复

var now = DateTime.Now;
var firstDay = new DateTime(now.Year, now.Month, 1);

var result = string.Empty;
var w = firstDay.DayOfWeek;
var n = ((now - firstDay).Days / 7);
if (w <= DayOfWeek.Thursday)
{
    result =$"今天是本月第{n+1}周";
}
else
{
    result = $"今天是本月第{n}周";
}
Console.WriteLine(result);

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧