C#日期一年中的第几周代码

C#日期一年中的第几周代码,在网上找了不少,但是代码太过于复杂,本不想自己再个轮子,但用别人的代码实在是觉得太复杂,自己动手搞一下吧。

算法原理:

1、一周的第一天按星期一开始(中国居多)

2、一周的第一天按星期天开始(国外居多)

3、确定好一周的某天开始后,然后计算出这一年的第一天是星期几,再计算出这天与一周第一天的差额。

4、找到要测算日期在一年中的位置,即在一年当中的第多少天。

5、把这个一年中的第多少天与上面的差额相加,得到一个总额,拿这个总额与一周的周期7做比较,相除及取余判断来计算出第几周

public static int GetDiJiZhou(DateTime dt, WeekBeginWith weekBegin)

{

DateTime date = new DateTime(dt.Year, 1, 1);

int dayofweek = (int)date.DayOfWeek;

if (weekBegin == WeekBeginWith.Monday)

{

if (dayofweek == 0) dayofweek = 7;

dayofweek -= 1;

}

int dayofyear = dt.DayOfYear;

int total = dayofyear + dayofweek;

int week = total / 7;

if (total % 7 != 0) week++;

return week;

}

批量修改文件名精灵 2024年最新版
批量修改文件名称、文件夹名称

免费使用 功能无限制

方便快捷,支持正则表达式、无需安装功能齐全、支持定制无广告、无插件,放心使用。

免费下载 百度网盘
本站中所有的计算器的计算结果仅供参考,本站对此结果的准确性不承担任何责任,实际数额以银行/保险公司/国家相关机构确认的结果为准。
在线客服QQ:543690914,备案号: 苏ICP备15037649号-33。东海县白塔埠镇佳诚电脑经营部版权所有。