C#计算时间间隔和时间所属区间的通用操作方法Word文件下载.docx
- 文档编号:15279784
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:9
- 大小:16.67KB
C#计算时间间隔和时间所属区间的通用操作方法Word文件下载.docx
《C#计算时间间隔和时间所属区间的通用操作方法Word文件下载.docx》由会员分享,可在线阅读,更多相关《C#计算时间间隔和时间所属区间的通用操作方法Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
set;
///开始时间
publicDateTimeBeginDate{get;
///结束时间
publicDateTimeEndDate{get;
///输出第几周和日期间隔
para>
默认格式:
<
/para>
第几周,从2012年12月21日至2112年12月21日。
returns>
第几周和日期间隔<
/returns>
publicoverridestringToString()
returnstring.Format("
第{0}周,从{1}至{2}。
"
Number,BeginDate.ToString("
yyyy年MM月dd日"
),EndDate.ToString("
));
///输出第几周
paramname="
isFill"
>
少于2位时是否补零<
/param>
第几周<
publicstringGetWeekString(boolisFill)
stringformat="
第{0}周"
;
if(isFill&
&
Number<
10)format="
第0{0}周"
returnstring.Format(format,Number);
///输出日期间隔
inputString"
输出格式化字符串<
dateString"
日期格式化字符串<
日期间隔<
publicstringGetDateString(stringinputString,stringdateString)
if(string.IsNullOrWhiteSpace(inputString)||string.IsNullOrWhiteSpace(dateString))returnnull;
try
returnstring.Format(inputString,BeginDate.ToString(dateString),EndDate.ToString(dateString));
catch(Exceptionex)
returnex.Message;
1.获得年度第一个周一的日期:
///获得年度第一个周一的日期
year"
需要计算的年份<
jumpYear"
年度第一周是否跳过跨年的周数<
offset"
年度第一个周一偏移量<
年度第一个周一的日期<
publicstaticDateTimeWeekOfFirstDay(intyear,booljumpYear,outintoffset)
varfirstDate=YearOfFirstDay(year);
//该年的第一天
varfirstWeek=(int)firstDate.DayOfWeek;
//该年的第一天是周几
offset=0;
//周一偏移量
switch(firstWeek)
case1:
//星期一
break;
case2:
//星期二
offset=jumpYear?
6:
-1;
case3:
//星期三
5:
-2;
case4:
//星期四
4:
-3;
case5:
//星期五
3:
-4;
case6:
//星期六
2:
-5;
case0:
//星期日
1:
-6;
firstDate=firstDate.AddDays(offset);
returnfirstDate;
2.获得年度周(星期)信息实体集合列表:
///获得年度周(星期)信息实体集合列表
周(星期)信息实体集合列表对象<
publicstaticIList<
WeekInfo>
WeekOfList(intyear,booljumpYear)
IList<
weekList=newList<
();
if(year<
=0001||year>
=9999)returnweekList;
varoffset=0;
varfirstDate=WeekOfFirstDay(year,jumpYear,outoffset);
//年度周一的日期
varindex=1;
while(true)
if(index>
54)break;
varweekInfo=newWeekInfo
Number=index,
BeginDate=firstDate,
EndDate=firstDate.AddDays(6)
};
weekList.Add(weekInfo);
firstDate=firstDate.AddDays(7);
//下周
if(jumpYear)
if(firstDate.Year!
=year)break;
else
if(firstDate.AddDays(6).Year!
index++;
returnweekList;
3.获得某年第某周的开始日期和结束日期:
///获得某年第某周的开始日期和结束日期
weekNumber"
需要计算的周数<
weekBeginDate"
开始日期<
weekEndDate"
结束日期<
publicstaticvoidWeekOfDate(intyear,intweekNumber,booljumpYear,outDateTimeweekBeginDate,outDateTimeweekEndDate)
weekBeginDate=DateTime.MinValue;
weekEndDate=DateTime.MaxValue;
=9999||weekNumber<
1||weekNumber>
54)return;
intoffset;
firstDate=firstDate.AddDays((weekNumber-1)*7);
weekBeginDate=firstDate;
weekEndDate=firstDate.AddDays(6);
4.获得某个日期属于某年的第几周:
///获得某个日期属于某年的第几周
currentDate"
需要计算的日期<
某年的第几周<
publicstaticintWeekOfCurrent(DateTimecurrentDate,booljumpYear)
if(DateTime.MinValue==currentDate||DateTime.MaxValue==currentDate)return0;
intresult,offset;
varfirstDate=WeekOfFirstDay(currentDate.Year,jumpYear,outoffset);
varcurrentDay=currentDate.DayOfYear;
if(o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 计算 时间 间隔 所属 区间 通用 操作方法