`

C# 计算月之间的月份集合

阅读更多

public static string StructSql(int startYear, int startMonth, int endYear, int endMonth)
        {
            StringBuilder tempSql = new StringBuilder();
            DateTime dtStart = new DateTime(startYear, startMonth, 1);
            DateTime dtEnd = new DateTime(endYear, endMonth, 1);
            TimeSpan ts = dtEnd - dtStart;
            int tempStartYear = startYear;
            int tempStartMonth = startMonth;
            if (ts.TotalDays > 25)
            {

                for (int i = startMonth; i <= 12; i++)
                {
                    if (i == startMonth && tempStartYear == startYear)
                        tempSql.AppendFormat("select '{0}' as A,'{1}' as B from dual\n", tempStartYear.ToString(), tempStartMonth.ToString());
                    else
                        tempSql.AppendFormat(" union all select '{0}' as A,'{1}' as B from dual\n", tempStartYear.ToString(), tempStartMonth.ToString());


                 
                    if (tempStartYear >= endYear && tempStartMonth >= endMonth)
                        break;

                    if (i == 12)
                    {
                        tempStartYear++;
                        i = 0;
                        tempStartMonth = 0;

                    }

                    tempStartMonth++;
                 
                }
            }
            else
            {
               // Page.RegisterStartupScript("message", "<script type='text/javascript'>alert('查询的截至时间小于一个月不能查询!')</script>");
                return "";
                //Response.End();
            }
            return tempSql.ToString();
        }

分享到:
评论

相关推荐

    C#全能速查宝典

    《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...

    C#编程经验技巧宝典

    122 &lt;br&gt;0205 如何使用正则表达式验证两位小数 122 &lt;br&gt;0206 如何使用正则表达式验证一年的12个月份 123 &lt;br&gt;0207 如何使用正则表达式验证一个月的31天 123 &lt;br&gt;0208 如何使用正则表达式验证数字...

    vc++ 应用源码包_1

    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...

    vc++ 应用源码包_2

    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...

    vc++ 应用源码包_6

    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...

    vc++ 应用源码包_5

    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...

    vc++ 应用源码包_3

    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...

    vc++ 开发实例源码包

    freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 如题。 FTP、HTTP 多线程断点续传下载文件 源码 如题。 gdiplus应用实例 如题,自绘控件的实现。 gdiplus应用实例2 如题,自绘控件的实现。 ...

Global site tag (gtag.js) - Google Analytics