首页
/
每日頭條
/
圖文
/
c語言如何隻獲取日期
c語言如何隻獲取日期
更新时间:2024-11-18 08:42:55

項目中經常會用到一些時間工具類,雖然C#中DateTime時間類裡已經封裝了許多時間算法,但也并不是面面俱到,有些需求還是需要對時間類進行擴展使用,這裡分享幾個項目中使用的時間工具類的算法,歡迎各位前來的道友給予補充和批評噢~

  • 獲取旬天數

每個月分為上旬、中旬、下旬,每個月的上旬、中旬天數都是固定的,為10天,但是下旬的天數是不固定的。有兩種情況,一種情況是平年的時候,下旬可能為8天、10天、11天,另一種情況是閏年的時候,下旬可能為9天、10天、11天。在C#中處理這個問題的話,就利用時間類的DaysInMonth方法(該方法的需要的參數為年和月)獲取到當月天數,然後減去上旬和中旬的天數即為下旬的天數。代碼實現如下:

/// <summary> /// 獲取旬的天數 /// </summary> /// <param name="dt">日期</param> /// <returns></returns> public static int GetXunDays(DateTime dt) { return dt.Day <= 10 ? 10 : (dt.Day <= 20 ? 10 : DateTime.DaysInMonth(dt.Year,dt.Month) - 20); }

  • 獲取季天數

每年會有四季,每季三個月,除2月份會因為受到平年、閏年影響(平年2月份有28天,閏年有29天),其餘三季的天數是固定的,記住一句口訣:一三五七八十臘都是31天,除2月意外以外的天數都是30天。因此我們獲取季天數的代碼實現為:

/// <summary> /// 獲取季的天數 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static int GetSeasonDays(DateTime dt) { switch (dt.Month) { //春季 case 1: return 31 DateTime.DaysInMonth(dt.Year,dt.AddMonths(1).Month) 31; case 2: return DateTime.DaysInMonth(dt.Year,dt.Month) DateTime.DaysInMonth(dt.Year, dt.AddMonths(-1).Month) 31; case 3: return 31 DateTime.DaysInMonth(dt.Year, dt.AddMonths(-1).Month) 31; //夏季 case 4: case 5: case 6: return 30 31 30; //秋季 case 7: case 8: case 9: return 31 31 30; case 10: case 11: case 12: return 31 30 31; } return -1; }

當然這塊的代碼并不是寫的很好,如果進來的朋友有更好的思路可以在下方留言讨論哦~

  • 獲取年天數

C# 作為一門高級的編程語言,其時間類DateTime提供了很多的工具類算法,我們無需寫if-else判斷當年是否為閏年,使用IsLeapYear方法可以判斷當前年是否為閏年,于是我們獲取當年的天數就會變得非常簡單,實現代碼如下:

/// <summary> /// 獲取年天 /// </summary> /// <param name="dt">日期</param> /// <returns></returns> public static int GetYearDays(DateTime dt) { return DateTime.IsLeapYear(dt.Year) ? 366 : 365; }

這三個時間工具算法是項目中目前使用的,也不知道能不能幫助到進來的朋友們,以後有擴展的方法我還會第一時間寫出來,這次先分享到這裡啦,也歡迎大家在下方提需求和思路哦!

c語言如何隻獲取日期(CDateTime類擴展)1

C#

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
幼兒親子英語日常對話
幼兒親子英語日常對話
春暖花開,草長莺飛~周末帶娃去放風筝吧!放風筝的英文怎麼說呢?想想在戶外這麼開心的親子陪伴場景中,孩子積極主動又非常快樂的就能掌握很多的詞彙和口語表達,是不是皆大歡喜呢~之前多篇文章和大家講清楚了如何輕松高效地輸入,那輸出同樣重要!但是有一...
2024-11-18
魔尊要抱抱梵九宸在哪一章複活
魔尊要抱抱梵九宸在哪一章複活
《魔尊要抱抱》漫畫已經更新到了第二季第13話,老年組的感情線依舊處于剪不斷理還亂的狀态。誅天一戰,神帝九宸與天道一同隕落,灰飛煙滅,卻被天道殘魂帶走了最後一點元神。鬼奴梵魈還執着不肯忘卻轉世,甚至不惜和冥尊定契約。九宸瞧瞧天道再瞧瞧梵魈,怎...
2024-11-18
數據的頻數分析
數據的頻數分析
海歸學者發起的公益學術平台分享信息,整合資源交流學術,偶爾風月近日,清華大學物理系由尤力老師和鄭盟锟老師領導的一個實驗在制備一種多粒子量子糾纏态--雙數态上取得重大突破,相關論文已發表于期刊《Science》。本文将以這一發現為引,介紹精密...
2024-11-18
情人節送什麼花最好看最有意思
情人節送什麼花最好看最有意思
情人節過了,這花也能送!花型是“愛心”,女友很喜歡,好看好養很多人都會在家裡擺上一些迎春的植物,這樣就可以提前感受着自然的風情,還能打造着盛情的氣息,讓内心也能夠打造着奪目淡雅的品味感,整個室内都可以綻放着溫情的花感,家人也可以釋放着心中的...
2024-11-18
慈禧真實名字
慈禧真實名字
說起中國的刺繡,不得不提一個人,此人雖不為現在人所熟知,但在刺繡界卻被稱為一代繡聖。此人就是在1911年為中國刺繡在世界獲大獎的第一人——繡聖沈壽(原名沈雲芝)。說起沈壽這個名字,也有一段傳奇。1904年,此時正值慈禧老佛爺的70壽辰,當時...
2024-11-18
Copyright 2023-2024 - www.tftnews.com All Rights Reserved