您的位置:首页 > 其它

[转]关于日期天数计算的几种方法

2007-11-12 23:36 267 查看
程序是将思维和思路,通过相应的语言来实现点,不同的语言只是语法或函数名不一样而已。下面的通过“关于日期天数计算的几种方法”来体会一下。

一 C#中的方法

1.通过.NET平台提供的函数,当前的日期加一个月,然后有新的日期与当前日期对比,即减去多余的天数。

DateTime dtNow = DateTime.Today;

DateTime dtNextMonth = dtNow.AddMonths( 1 );

TimeSpan tsSpan = dtNextMonth.Subtract( dtNow );

int nDay = tsSpan.Days;

Response.Write( nDay.ToString() );

2.已知某个日期curdate需要计算该日期所在月份有多少天

一种比较巧妙的思路:将日期curdate变成下个月的1号,得到一个新的日期newdate

用newdate减去1天可得到newdate前1天的日期predate

predate的日期号即为curdate日期所在月份中一个月的天数

DateTime curdate = DateTime.Today;

int nYear = curdate.Year;

int nMonth = curdate.Month + 1;

DateTime newdate = Convert.ToDateTime( nYear.ToString() + " " + nMonth.ToString() + " 1" );

DateTime predate = newdate.AddDays( -1 );

Response.Write( predate.Day.ToString() );

二 SQL中的方法

--思路同上:

DECLARE @dtLastTime DATETIME

DECLARE @strTime VARCHAR(8)

SET @strTime = CONVERT(VARCHAR(4),YEAR(GETDATE())) + '-' +CONVERT(VARCHAR(2),MONTH(GETDATE())+1) + '-1'

SET @dtLastTime = CONVERT(DATETIME,@strTime ) - 1

SELECT Day(@dtLastTime) AS '本月天数'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: