阿彪温馨的家
我不去想是否能够成功,既然选择了远方,便只顾风雨兼程。
posts - 32,comments - 13,trackbacks - 0

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

一 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 '本月天数'

posted on 2007-11-12 23:36 甩掉裤衩凭风吹 阅读(763) 评论(0) 编辑 收藏