码迷,mamicode.com
首页 > 其他好文 > 详细

时间处理

时间:2015-01-15 15:59:45      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:

时间处理

通过时间或去相应星期几的日期

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);
这是获取本周周一的日期

由于不能分享到博客,随在次进行记录
来源:http://zhidao.baidu.com/link?url=wfYUKWHfdycusGNscQar7WFFG9cbwVQnwVsCWxWF5CCAYmklHBA3V1en0KkCFtacdk686wVFcug5jlGxtMUuRK

时间处理

标签:

原文地址:http://www.cnblogs.com/gj3326/p/4226386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!