来一篇关于NET的C#完全的日期处置函数汇总
因为各系统的API不同,代码调用API编写程序就会遇到很多不兼容的地方,比如Java改写后的Serv-U就不能在手机上执行,手机的游戏也不能直接在微机上执行。usingSystem;namespaceqminoa.Common
{
///<summary>
///日期处置函数包
///</summary>
publicclassDateUtil
{
//机关函数
publicDateUtil()
{
}
///<summary>前往今年有几天</summary>
///<paramname="iYear">年份</param>
///<returns>今年的天数</returns>
publicstaticintGetDaysOfYear(intiYear)
{
intcnt=0;
if(IsRuYear(iYear))
{
cnt=366;//闰年多1天即:2月为29天
}
else
{
cnt=365;//--非闰幼年1天即:2月为28天
}
returncnt;
}
///<summary>今年有几天</summary>
///<paramname="dt">日期</param>
///<returns>本天在昔时的天数</returns>
publicstaticintGetDaysOfYear(DateTimeidt)
{
intn;
//获得传进参数的年份部分,用来判别是不是是闰年
n=idt.Year;
if(IsRuYear(n))
{
return366;//闰年多1天即:2月为29天
}
else
{
return365;//--非闰幼年1天即:2月为28天
}
}
///<summary>本月有几天</summary>
///<paramname="iYear">年</param>
///<paramname="Month">月</param>
///<returns>天数</returns>
publicstaticintGetDaysOfMonth(intiYear,intMonth)
{
intdays=0;
switch(Month)
{
case1:
days=31;
break;
case2:
if(IsRuYear(iYear))
{
days=29;//闰年多1天即:2月为29天
}
else
{
days=28;//--非闰幼年1天即:2月为28天
}
break;
case3:
days=31;
break;
case4:
days=30;
break;
case5:
days=31;
break;
case6:
days=30;
break;
case7:
days=31;
break;
case8:
days=31;
break;
case9:
days=30;
break;
case10:
days=31;
break;
case11:
days=30;
break;
case12:
days=31;
break;
}
returndays;
}
///<summary>本月有几天</summary>
///<paramname="dt">日期</param>
///<returns>天数</returns>
publicstaticintGetDaysOfMonth(DateTimedt)
{
//--------------------------------//
//--从dt中获得以后的年,月信息--//
//--------------------------------//
intyear,month,days=0;
year=dt.Year;
month=dt.Month;
//--使用年代信息,失掉以后月的天数信息。
switch(month)
{
case1:
days=31;
break;
case2:
if(IsRuYear(year))
{
days=29;//闰年多1天即:2月为29天
}
else
{
days=28;//--非闰幼年1天即:2月为28天
}
break;
case3:
days=31;
break;
case4:
days=30;
break;
case5:
days=31;
break;
case6:
days=30;
break;
case7:
days=31;
break;
case8:
days=31;
break;
case9:
days=30;
break;
case10:
days=31;
break;
case11:
days=30;
break;
case12:
days=31;
break;
}
returndays;
}
///<summary>前往以后日期的礼拜称号</summary>
///<paramname="dt">日期</param>
///<returns>礼拜称号</returns>
publicstaticstringGetWeekNameOfDay(DateTimeidt)
{
stringdt,week="";
dt=idt.DayOfWeek.ToString();
switch(dt)
{
case"Mondy":
week="礼拜一";
break;
case"Tuesday":
week="礼拜二";
break;
case"Wednesday":
week="礼拜三";
break;
case"Thursday":
week="木曜日";
break;
case"Friday":
week="礼拜五";
break;
case"Saturday":
week="礼拜六";
break;
case"Sunday":
week="日曜日";
break;
}
returnweek;
}
///<summary>前往以后日期的礼拜编号</summary>
///<paramname="dt">日期</param>
///<returns>礼拜数字编号</returns>
publicstaticstringGetWeekNumberOfDay(DateTimeidt)
{
stringdt,week="";
dt=idt.DayOfWeek.ToString();
switch(dt)
{
case"Mondy":
week="1";
break;
case"Tuesday":
week="2";
break;
case"Wednesday":
week="3";
break;
case"Thursday":
week="4";
break;
case"Friday":
week="5";
break;
case"Saturday":
week="6";
break;
case"Sunday":
week="7";
break;
}
returnweek;
}
///<summary>前往两个日期之间相差的天数</summary>
///<paramname="dt">两个日期参数</param>
///<returns>天数</returns>
publicstaticintDiffDays(DateTimedtfrm,DateTimedtto)
{
intdiffcnt=0;
//diffcnt=dtto-dtfrm;
returndiffcnt;
}
///<summary>判别以后日期所属的年份是不是是闰年,公有函数</summary>
///<paramname="dt">日期</param>
///<returns>是闰年:True,不是闰年:False</returns>
privatestaticboolIsRuYear(DateTimeidt)
{
//情势参数为日期范例
//比方:2003-12-12
intn;
n=idt.Year;
if((n%400==0)||(n%4==0&&n%100!=0))
{
returntrue;
}
else
{
returnfalse;
}
}
///<summary>判别以后年份是不是是闰年,公有函数</summary>
///<paramname="dt">年份</param>
///<returns>是闰年:True,不是闰年:False</returns>
privatestaticboolIsRuYear(intiYear)
{
//情势参数为年份比方:2003
intn;
n=iYear;
if((n%400==0)||(n%4==0&&n%100!=0))
{
returntrue;
}
else
{
returnfalse;
}
}
///<summary>
///将输出的字符串转化为日期。假如字符串的格局不法,则前往以后日期。
///</summary>
///<paramname="strInput">输出字符串</param>
///<returns>日期工具</returns>
publicstaticDateTimeConvertStringToDate(stringstrInput)
{
DateTimeoDateTime;
try
{
oDateTime=DateTime.Parse(strInput);
}
catch(Exception)
{
oDateTime=DateTime.Today;
}
returnoDateTime;
}
///<summary>
///将日期工具转化为格局字符串
///</summary>
///<paramname="oDateTime">日期工具</param>
///<paramname="strFormat">
///格局:
///"SHORTDATE"===短日期
///"LONGDATE"==永日期
///别的====自界说格局
///</param>
///<returns>日期字符串</returns>
publicstaticstringConvertDateToString(DateTimeoDateTime,stringstrFormat)
{
stringstrDate="";
try
{
switch(strFormat.ToUpper())
{
case"SHORTDATE":
strDate=oDateTime.ToShortDateString();
break;
case"LONGDATE":
strDate=oDateTime.ToLongDateString();
break;
default:
strDate=oDateTime.ToString(strFormat);
break;
}
}
catch(Exception)
{
strDate=oDateTime.ToShortDateString();
}
returnstrDate;
}
///<summary>
///判别是不是为正当日期,必需年夜于1800年1月1日
///</summary>
///<paramname="strDate">输出日期字符串</param>
///<returns>True/False</returns>
publicstaticboolIsDateTime(stringstrDate)
{
try
{
DateTimeoDate=DateTime.Parse(strDate);
if(oDate.CompareTo(DateTime.Parse("1800-1-1"))>0)
returntrue;
else
returnfalse;
}
catch(Exception)
{
returnfalse;
}
}
}
}
以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。 网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项! 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
页:
[1]