zoukankan
html css js c++ java
C#关于日期月天数和一年有多少周及某年某周时间段的计算
/**/
///
<summary>
///
当前月有多少天
///
</summary>
///
<param name="y"></param>
///
<param name="m"></param>
///
<returns></returns>
public
static
int
HowMonthDay(
int
y,
int
m)
{
int
mnext;
int
ynext;
if
(m
<
12
)
{
mnext
=
m
+
1
;
ynext
=
y;
}
else
{
mnext
=
1
;
ynext
=
y
+
1
;
}
DateTime dt1
=
System.Convert.ToDateTime(y
+
"
-
"
+
m
+
"
-1
"
);
DateTime dt2
=
System.Convert.ToDateTime(ynext
+
"
-
"
+
mnext
+
"
-1
"
);
TimeSpan diff
=
dt2
-
dt1;
return
diff.Days;
}
/**/
///
<summary>
///
得到一年中的某周的起始日和截止日
///
年 nYear
///
周数 nNumWeek
///
周始 out dtWeekStart
///
周终 out dtWeekeEnd
///
</summary>
///
<param name="nYear"></param>
///
<param name="nNumWeek"></param>
///
<param name="dtWeekStart"></param>
///
<param name="dtWeekeEnd"></param>
public
static
void
GetWeek(
int
nYear,
int
nNumWeek,
out
DateTime dtWeekStart,
out
DateTime dtWeekeEnd)
{
DateTime dt
=
new
DateTime(nYear,
1
,
1
);
dt
=
dt
+
new
TimeSpan((nNumWeek
-
1
)
*
7
,
0
,
0
,
0
);
dtWeekStart
=
dt.AddDays(
-
(
int
)dt.DayOfWeek
+
(
int
)DayOfWeek.Monday);
dtWeekeEnd
=
dt.AddDays((
int
)DayOfWeek.Saturday
-
(
int
)dt.DayOfWeek
+
1
);
}
/**/
///
<summary>
///
求某年有多少周
///
返回 int
///
</summary>
///
<param name="strYear"></param>
///
<returns>
int
</returns>
public
static
int
GetYearWeekCount(
int
strYear)
{
string
returnStr
=
""
;
System.DateTime fDt
=
DateTime.Parse(strYear.ToString()
+
"
-01-01
"
);
int
k
=
Convert.ToInt32(fDt.DayOfWeek);
//
得到该年的第一天是周几
if
(k
==
1
)
{
int
countDay
=
fDt.AddYears(
1
).AddDays(
-
1
).DayOfYear;
int
countWeek
=
countDay
/
7
+
1
;
return
countWeek;
}
else
{
int
countDay
=
fDt.AddYears(
1
).AddDays(
-
1
).DayOfYear;
int
countWeek
=
countDay
/
7
+
2
;
return
countWeek;
}
}
/**/
///
<summary>
///
求当前日期是一年的中第几周
///
</summary>
///
<param name="date"></param>
///
<returns></returns>
public
static
int
WeekOfYear(DateTime curDay)
{
int
firstdayofweek
=
Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString()
+
"
-
"
+
"
1-1
"
).DayOfWeek);
int
days
=
curDay.DayOfYear;
int
daysOutOneWeek
=
days
-
(
7
-
firstdayofweek);
if
(daysOutOneWeek
<=
0
)
{
return
1
;
}
else
{
int
weeks
=
daysOutOneWeek
/
7
;
if
(daysOutOneWeek
%
7
!=
0
)
weeks
++
;
return
weeks
+
1
;
}
}
查看全文
相关阅读:
VS2010自定义新建文件模版 狼人:
理解“.NET技术”.NET程序集的执行过程 狼人:
JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯 狼人:
《Effective C#中文版:改善C#程序的50种方法》读书笔记 狼人:
C#中“.NET技术”字符串的内存分配与驻留池 狼人:
ASP.NET MVC 3和Razor中的@helper 语法 狼人:
用C#实现HTTP协“.NET技术”议下的多线程文件传输 狼人:
JA“.NET技术”VA与.NET的相互调用——TCP/IP相互调用基本架构 狼人:
《Effective C#中文版:改善C#程序的50种方法》“.NET技术”读书笔记 狼人:
C#“.NET技术” 中奇妙的函数联接序列的五种简单方法 狼人:
原文地址:https://www.cnblogs.com/skyblue/p/967455.html
最新文章
在IIS上解决IE8兼容性视图问题
Visual Studio 2008 远程调试
sql serer 快照事务区别
C#的Timer
ASP.NET视图的保存与加载解析(二)——视图的加载
了解GDAL图像处理(转)
c/c++ 中的日期时间一般用什么数据类型问题
socket编程结构体变量(转)
c++ 使用socket实现C/S端文件的下载传输
socket 大端 小端 转换 (转)《二》
热门文章
读取TIF格式图像文件(转)
Select I/O模型来实现一个并发处理多个客户端的TCP服务器 <转>
GDAL源码剖析 之GDAL开发及其调试 (转)
C++ __int64用法 (转)
socket 大端 小端 转换 (转)《一》
Visual Studio 2010 中的代码约定设置 狼人:
ASP.NET MVC 3和Razor中的@helpe“.NET技术”r 语法 狼人:
JAVA与.NET的相互调用——通过Web服务实现相互调用 狼人:
Visual Studio 2010“.NET技术” 中的代码约定设置 狼人:
JAVA与.NET“.NET技术”的相互调用——通过Web服务实现相互调用 狼人:
Copyright © 2011-2022 走看看