现在的位置: 首页 > 综合 > 正文

C#获取周一周日月末月初度末度初年初年末

2014年01月17日 ⁄ 综合 ⁄ 共 1535字 ⁄ 字号 评论关闭

DateTime dt = DateTime.Now;  //当前时间

DateTime startWeek 
= dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d")));  //本周周一
DateTime endWeek = startWeek.AddDays(6);  //本周周日

 DateTime startMonth 
= dt.AddDays(1 - dt.Day);  //本月月初
DateTime endMonth = startMonth.AddMonths(1).AddDays(-1);  //本月月末
//DateTime endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1);  //本月月末

DateTime startQuarter 
= dt.AddMonths(0 - (dt.Month - 1% 3).AddDays(1 - dt.Day);  //本季度初
DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1);  //本季度末

DateTime startYear 
= new DateTime(dt.Year, 11);  //本年年初
DateTime endYear = new DateTime(dt.Year, 1231);  //本年年末

 

 

 

 

 

 

 

 

 

、、------------应用

 

    /// <summary>
    /// 有字段和今天日期 返回SQL 查询本日所在季度的SQL
    /// </summary>
    /// <param name="today">今天日期</param>
    /// <param name="ColumnName">时间字段</param>
    /// <returns></returns>
    private string GetStartEndTime(string today,string ColumnName)
    {
        string RtnVal = "";
        if (today.Trim() != "")
        {
            DateTime dt = DateTime.Parse(today);
            DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day);  //本季度初
            DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1);  //本季度末
            RtnVal = " and " + ColumnName + ">=" + startQuarter + " and " + ColumnName + "<" + endQuarter + "";
        }
        return RtnVal;
    }

 

 

            DateTime dt = DateTime.Parse(today);
            DateTime startYear = new DateTime(dt.Year, 1, 1);  //本年年初
            DateTime endYear = new DateTime(dt.Year, 12, 31);  //本年年末
            RtnVal = " and " + ColumnName + ">=" + startYear + " and " + ColumnName + "<" + endYear + "";

抱歉!评论已关闭.