using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CallCenter.Utility.Time
{
public class DateTools
{
///
/// 得到本周第一天(以星期天为第一天)
///
///
///
public static DateTime GetWeekFirstDaySun(DateTime datetime)
{
//星期天为第一天
int weeknow = Convert.ToInt32(datetime.DayOfWeek);
int daydiff = (-1) * weeknow;
//本周第一天
string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
return Convert.ToDateTime(FirstDay);
}
///
/// 得到本周第一天(以星期一为第一天)
///
///
///
public static DateTime GetWeekFirstDayMon(DateTime datetime)
{
//星期一为第一天
int weeknow = Convert.ToInt32(datetime.DayOfWeek);
//因为是以星期一为第一天,所以要判断weeknow等于0时,要向前推6天。
weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1));
int daydiff = (-1) * weeknow;
//本周第一天
string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
return Convert.ToDateTime(FirstDay);
}
///
/// 得到本周最后一天(以星期六为最后一天)
///
///
///
public static DateTime GetWeekLastDaySat(DateTime datetime)
{
//星期六为最后一天
int weeknow = Convert.ToInt32(datetime.DayOfWeek);
int daydiff = (7 - weeknow) - 1;
//本周最后一天
string LastDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
return Convert.ToDateTime(LastDay);
}
///
/// 得到本周最后一天(以星期天为最后一天)
///
///
///
public static DateTime GetWeekLastDaySun(DateTime datetime)
{
//星期天为最后一天
int weeknow = Convert.ToInt32(datetime.DayOfWeek);
weeknow = (weeknow == 0 ? 7 : weeknow);
int daydiff = (7 - weeknow);
//本周最后一天
string LastDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
return Convert.ToDateTime(LastDay);
}
///
/// 取得某月的第一天
///
/// 要取得月份第一天的时间
///
public static DateTime FirstDayOfMonth(DateTime datetime)
{
return datetime.AddDays(1 - datetime.Day);
}
///
/// 取得某月的最后一天
///
/// 要取得月份最后一天的时间
///
public static DateTime LastDayOfMonth(DateTime datetime)
{
return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1);
}
///
/// 取得上个月第一天
///
/// 要取得上个月第一天的当前时间
///
public static DateTime FirstDayOfPreviousMonth(DateTime datetime)
{
return datetime.AddDays(1 - datetime.Day).AddMonths(-1);
}
///
/// 取得上个月的最后一天
///
/// 要取得上个月最后一天的当前时间
///
public static DateTime LastDayOfPrdviousMonth(DateTime datetime)
{
return datetime.AddDays(1 - datetime.Day).AddDays(-1);
}
}
}