永发信息网

c#winform中怎么获得上周一的日期

答案:3  悬赏:50  手机版
解决时间 2021-11-07 09:30
c#winform中怎么获得上周一的日期
最佳答案
楼上几层的代码都太多了,不用那么复杂。
先跟你说一下原理:
1.国际上的WeekDay是从周日到周六的顺序
2.再说C#的DayOfWeek枚举值是依次从0到6,即周一的枚举值为1
3.算法规律:非周一的就要去获取上周一,而一周有7天。以周一为分界点,当天为周二及往后,则算法为减7天后再减当天N数再加1;周日的话,算法为减7天后再加1。
以此算法规律,可建立获取任意指定日期的上周几的日期的通用方法,代码如下:
pubilc DateTime getWeekUpOfDate(DateTime dt,DayOfWeek weekday,int Number)
{
int wd1=(int)weekday;
int wd2=(int)dt.DayOfWeek;
return wd2==wd1?dt.AddDay(7*Number):dt.AddDay(7*Number-wd2+wd1);
}
参数说明:dt为指定的以哪个日期来计算,weekday为计算(上、当前、下)几周的周几
方法调用如下:
DateTime dt=getWeekUpOfDate(DateTime.Now,DayOfWeek.Monday,-1);
这是获取当前日期的上周一的日期
DateTime dt=getWeekUpOfDate(DateTime.Now,DayOfWeek.Monday,-2);
这是获取当前日期的上上周一的日期
DateTime dt=getWeekUpOfDate(DateTime.Now,DayOfWeek.Monday,1);
这是获取当前日期的下周一的日期
DateTime dt=getWeekUpOfDate(DateTime.Now,DayOfWeek.Monday,0);
这是获取本周周一的日期
全部回答
DateTime dt = DateTime.Now.AddDays(-7);
string result = string.Empty;
switch (dt.DayOfWeek)
{
case DayOfWeek.Friday:
result = dt.AddDays(-4).ToShortDateString();
break;
case DayOfWeek.Monday:
result = dt.AddDays(0).ToShortDateString();
break;
case DayOfWeek.Saturday:
result = dt.AddDays(-5).ToShortDateString();
break;
case DayOfWeek.Sunday:
result = dt.AddDays(-6).ToShortDateString();
break;
case DayOfWeek.Thursday:
result = dt.AddDays(-3).ToShortDateString();
break;
case DayOfWeek.Tuesday:
result = dt.AddDays(-1).ToShortDateString();
break;
case DayOfWeek.Wednesday:
result = dt.AddDays(-2).ToShortDateString();
break;
}
//return result;
DateTime dateTime= DateTime.Now;//具体你自己调整
while(dateTime.DayOfWeek !=DayOfWeek.Friday){//只要不是周一
dateTime=dateTime.AddDays(-1);//就往回倒退1天
}
dateTime=dateTime.AddDays(-7);//上周的那一天
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
庐江老风机厂还在吗
从uc头条收藏的内容到手机哪里去找
有机化学,求解双键对共轭效应的影响
宿州市磬云路大红椅子的由来,有知道的吗?
星星灯具店地址在哪,我要去那里办事
从淮阳开车到单城要多长时间
有谁知道世界各港口的集装箱限重要求,越多越
刘翔在NBA一共踢进了几个羽毛球啊?
宋代的宗正少卿是啥官
7.8除以x等于2,3x-什么等于8.9
这里的景色真美的作文怎么写?
敲诈勒索三万块钱得判多久
梦见捡了九元钱
一个成熟优秀的男人是不是一般都会要去自己的
请问lol到底怎么玩,我老是走中路,看到敌人
推荐资讯
帮我出出主意吧!!
请用我和电脑为题
蛋燕怎么做好吃,永泰蛋燕的家常做法
微信上认识一个女孩,喜欢她,忘不掉她,说我
如何写Does school always kill creativity
放下以前的心态?放下面子和回忆?是什么意思
安道子珠宝蜜蜡怎样
尧加走之是什么字
汽车t1.5和t2.0什么意思
关于临沂的大胖涮锅位置。
1860台球厅地址在什么地方,我要处理点事!
picsArt账户如何注册,我注册它总是弹出说出
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?