C#由當前日期計算相應的周一和周日的實例代碼
更新時間:2013年09月05日 15:14:14 作者:
這篇文章介紹了C#由當前日期計算相應的周一和周日的實例代碼,有需要的朋友可以參考一下
復制代碼 代碼如下:
/// <summary>
/// 計算本周起始日期(禮拜一的日期)
/// </summary>
/// <param name="someDate">該周中任意一天</param>
/// <returns>返回禮拜一日期,后面的具體時、分、秒和傳入值相等</returns>
public static DateTime CalculateFirstDateOfWeek(DateTime someDate)
{
int i = someDate.DayOfWeek - DayOfWeek.Monday;
if (i == -1) i = 6;// i值 > = 0 ,因為枚舉原因,Sunday排在最前,此時Sunday-Monday=-1,必須+7=6。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Subtract(ts);
}
/**//// <summary>
/// 計算本周結束日期(禮拜日的日期)
/// </summary>
/// <param name="someDate">該周中任意一天</param>
/// <returns>返回禮拜日日期,后面的具體時、分、秒和傳入值相等</returns>
public static DateTime CalculateLastDateOfWeek(DateTime someDate)
{
int i = someDate.DayOfWeek - DayOfWeek.Sunday;
if(i != 0) i = 7 - i;// 因為枚舉原因,Sunday排在最前,相減間隔要被7減。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Add(ts);
}
/**//// <summary>
/// 判斷選擇的日期是否是本周(根據系統(tǒng)當前時間決定的‘本周'比較而言)
/// </summary>
/// <param name="someDate"></param>
/// <returns></returns>
public static bool IsThisWeek(DateTime someDate)
{
//得到someDate對應的周一
DateTime someMon = CalculateFirstDateOfWeek(someDate);
//得到本周一
DateTime nowMon = CalculateFirstDateOfWeek(DateTime.Now);
TimeSpan ts = someMon - nowMon;
if (ts.Days < 0)
ts = -ts;//取正
if (ts.Days >= 7)
{
return false;
}
else
{
return true;
}
}
相關文章
C# 開發(fā)(創(chuàng)藍253)手機短信驗證碼接口的實例
下面小編就為大家分享一篇C# 開發(fā)(創(chuàng)藍253)手機短信驗證碼接口的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01