在C#得到指定日期所在周的第一天与最后一天的方法
2012-07-25 13:00
323 查看
我们在计算时期的时候,可能会经常需要得到指定日期所在周的第一天与最后一天的日期,又因为我们的计算周的方式与西方有所不同,他们是以星期天为每周的第一天,而我们习惯以星期一为每周的第一天。这里我们分别给出两种不同计算方法的示例,方法如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WyfClass
{
public class tools
{
/// <summary>
/// 得到本周第一天(以星期天为第一天)
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public 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);
}
/// <summary>
/// 得到本周第一天(以星期一为第一天)
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public 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);
}
/// <summary>
/// 得到本周最后一天(以星期六为最后一天)
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public 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);
}
/// <summary>
/// 得到本周最后一天(以星期天为最后一天)
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public 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);
}
}
}
我们可以使用任何日期为参数传入到上面对应的方法中得到日期所在周的第一天或者是最后一天
本文来源于:http://www.lmwlove.com/ac/ID861
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WyfClass
{
public class tools
{
/// <summary>
/// 得到本周第一天(以星期天为第一天)
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public 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);
}
/// <summary>
/// 得到本周第一天(以星期一为第一天)
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public 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);
}
/// <summary>
/// 得到本周最后一天(以星期六为最后一天)
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public 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);
}
/// <summary>
/// 得到本周最后一天(以星期天为最后一天)
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public 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);
}
}
}
我们可以使用任何日期为参数传入到上面对应的方法中得到日期所在周的第一天或者是最后一天
本文来源于:http://www.lmwlove.com/ac/ID861
相关文章推荐
- c# 获取某日期所在周的第一天和最后一天
- c# 获取某日期所在周的第一天和最后一天
- java获取指定日期所在周的第一天和最后一天
- c# 获取某日期所在周的第一天和最后一天
- 如何得到指定日期(年,月,季度,周)第一天和最后一天
- C#获取上个月第一天和最后一天日期的方法
- c# 获取某日期所在周的第一天和最后一天
- c# 获取某日期所在周的第一天和最后一天(转)
- java获取指定日期所在周的第一天和最后一天
- c# 获取某日期所在周的第一天和最后一天
- C#获取上个月第一天和最后一天日期的方法
- java获取指定日期所在周的第一天和最后一天
- oracle使用to_char和next_day函数得到本周的第一天和最后一天日期
- 编程乐趣:C#获取日期所在周、月份第一和最后一天
- js得到连两个时间段之间所有的年-月 获取当前日期 格式化日期 根据指定日期得到该日期该月份的最后一天
- mysql 根据指定日期取 周一至周日 本月第一天 最后一天
- 取得某月和上个月第一天和最后一天的方法(C#)
- 得到一周的周一和周日的日期 和 当月第一天及当月最后一天
- PHP 求指定月份的第一天到最后一天的日期
- 【C#日期系列(一)】--C#获取某月第一天0分0秒以及最后一天59分59秒