您的位置:首页 > 编程语言 > C#

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

2009-01-15 10:14 330 查看
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, 1, 1); //本年年初
DateTime endYear = new DateTime(dt.Year, 12, 31); //本年年末

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

/// <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 + "";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: