asp.net 時(shí)間類(lèi) 一周的周一和周末的日期
更新時(shí)間:2008年12月19日 14:34:18 作者:
asp.net中時(shí)間類(lèi)——得到一周的周一和周末的日期
好多時(shí)候,數(shù)據(jù)庫(kù)查詢統(tǒng)計(jì)時(shí)需要使用本周統(tǒng)計(jì)
這里又不想把計(jì)算的任務(wù)交給數(shù)據(jù)去做
于是自己寫(xiě)個(gè)小函數(shù),得到本周的周一和周末的時(shí)間,數(shù)據(jù)庫(kù)比較的時(shí)候只需要 between ... and 就可以了
代碼如下:
#region 得到一周的周一和周日的日期
/// <summary>
/// 計(jì)算本周的周一日期
/// </summary>
/// <returns></returns>
public static DateTime GetMondayDate()
{
return GetMondayDate(DateTime.Now);
}
/// <summary>
/// 計(jì)算本周周日的日期
/// </summary>
/// <returns></returns>
public static DateTime GetSundayDate()
{
return GetSundayDate(DateTime.Now);
}
/// <summary>
/// 計(jì)算某日起始日期(禮拜一的日期)
/// </summary>
/// <param name="someDate">該周中任意一天</param>
/// <returns>返回禮拜一日期,后面的具體時(shí)、分、秒和傳入值相等</returns>
public static DateTime GetMondayDate(DateTime someDate)
{
int i = someDate.DayOfWeek - DayOfWeek.Monday;
if (i == -1) i = 6;// i值 > = 0 ,因?yàn)槊杜e原因,Sunday排在最前,此時(shí)Sunday-Monday=-1,必須+7=6。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Subtract(ts);
}
/// <summary>
/// 計(jì)算某日結(jié)束日期(禮拜日的日期)
/// </summary>
/// <param name="someDate">該周中任意一天</param>
/// <returns>返回禮拜日日期,后面的具體時(shí)、分、秒和傳入值相等</returns>
public static DateTime GetSundayDate(DateTime someDate)
{
int i = someDate.DayOfWeek - DayOfWeek.Sunday;
if (i != 0) i = 7 - i;// 因?yàn)槊杜e原因,Sunday排在最前,相減間隔要被7減。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Add(ts);
}
#endregion
這里又不想把計(jì)算的任務(wù)交給數(shù)據(jù)去做
于是自己寫(xiě)個(gè)小函數(shù),得到本周的周一和周末的時(shí)間,數(shù)據(jù)庫(kù)比較的時(shí)候只需要 between ... and 就可以了
代碼如下:
#region 得到一周的周一和周日的日期
/// <summary>
/// 計(jì)算本周的周一日期
/// </summary>
/// <returns></returns>
public static DateTime GetMondayDate()
{
return GetMondayDate(DateTime.Now);
}
/// <summary>
/// 計(jì)算本周周日的日期
/// </summary>
/// <returns></returns>
public static DateTime GetSundayDate()
{
return GetSundayDate(DateTime.Now);
}
/// <summary>
/// 計(jì)算某日起始日期(禮拜一的日期)
/// </summary>
/// <param name="someDate">該周中任意一天</param>
/// <returns>返回禮拜一日期,后面的具體時(shí)、分、秒和傳入值相等</returns>
public static DateTime GetMondayDate(DateTime someDate)
{
int i = someDate.DayOfWeek - DayOfWeek.Monday;
if (i == -1) i = 6;// i值 > = 0 ,因?yàn)槊杜e原因,Sunday排在最前,此時(shí)Sunday-Monday=-1,必須+7=6。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Subtract(ts);
}
/// <summary>
/// 計(jì)算某日結(jié)束日期(禮拜日的日期)
/// </summary>
/// <param name="someDate">該周中任意一天</param>
/// <returns>返回禮拜日日期,后面的具體時(shí)、分、秒和傳入值相等</returns>
public static DateTime GetSundayDate(DateTime someDate)
{
int i = someDate.DayOfWeek - DayOfWeek.Sunday;
if (i != 0) i = 7 - i;// 因?yàn)槊杜e原因,Sunday排在最前,相減間隔要被7減。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Add(ts);
}
#endregion
您可能感興趣的文章:
- ASP.NET Calendar日歷(日期)控件使用方法
- asp.net中日歷函數(shù)Calendar的使用方法
- ASP.NET中為T(mén)extBox中添加calendar.js示例代碼
- ASP.NET中實(shí)現(xiàn)彈出日歷示例
- ASP.NET中日歷控件和JS版日歷控件的使用方法(第5節(jié))
- 在ASP.NET中實(shí)現(xiàn)彈出日歷的具體方法
- ASP.NET技巧:為Blog打造個(gè)性日歷
- ASP.NET如何獲取兩個(gè)日期之間的天數(shù)
- asp.net 日期函數(shù) 某月的第一天和最后一天的日期
- Asp.net 時(shí)間操作基類(lèi)(支持短日期,長(zhǎng)日期,時(shí)間差)
- asp.net(C#)實(shí)現(xiàn)功能強(qiáng)大的時(shí)間日期處理類(lèi)完整實(shí)例
- asp.net基于Calendar實(shí)現(xiàn)blog日歷功能示例
相關(guān)文章
Asp.net實(shí)現(xiàn)MVC處理文件的上傳下載功能實(shí)例教程
這篇文章主要介紹了Asp.net實(shí)現(xiàn)MVC處理文件的上傳下載功能,比較全面而系統(tǒng)的對(duì)Asp.net MVC的文件上傳下載功能進(jìn)行了深入分析,有很好的借鑒價(jià)值,需要的朋友可以參考下2014-08-08
將FreeTextBox做成控件添加到工具箱中的具體操作方法
以下是對(duì)將FreeTextBox做成控件添加到工具箱中的具體操作方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下2013-09-09
Asp.net圖片上傳實(shí)現(xiàn)預(yù)覽效果的簡(jiǎn)單代碼
這篇文章介紹了Asp.net圖片上傳實(shí)現(xiàn)預(yù)覽效果的簡(jiǎn)單代碼,有需要的朋友可以參考一下2013-07-07
大型門(mén)戶網(wǎng)站實(shí)現(xiàn)的十四大技術(shù)小結(jié)
參考下大型門(mén)戶網(wǎng)站的技術(shù),大家可以盡量的備份好服務(wù)器。2010-10-10
asp.net CheckBoxList各項(xiàng)最小寬度CSS樣式(兼容性good)
ASP.NET中,CheckBoxList里的選擇都是自動(dòng)寬度的,屬性時(shí)沒(méi)有設(shè)置各項(xiàng)寬度的設(shè)置,在IE10、遨游4極速模式及兼容模式下均可正確顯示最小寬度,此樣式除了用于CheckBoxList外,也可用于DIV等2013-04-04
ASP.NET實(shí)現(xiàn)進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了ASP.NET實(shí)現(xiàn)簡(jiǎn)單的進(jìn)度條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Asp.Net類(lèi)庫(kù)中發(fā)送電子郵件的代碼
發(fā)送電子郵件是許多需要用戶注冊(cè)的網(wǎng)站的通用功能,通過(guò)正則表達(dá)式我們可以過(guò)濾掉不符合電子郵件格式的輸入,但是仍沒(méi)有辦法確保用戶填寫(xiě)的電子郵件地址一定是他本人真實(shí)有效的電子郵件地址2008-09-09
擴(kuò)展方法ToJSON() and ParseJSON()
AJAX編程經(jīng)常需要Object<=>JSON之間轉(zhuǎn)換,寫(xiě)了二個(gè)擴(kuò)展方法: public static string ToJSON(this object obj) public static T ParseJSON<T>(this string str)2008-03-03

