国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# 獲取當前年份的周期及周期所在日期范圍(推薦)

2019-10-29 21:02:16
字體:
來源:轉載
供稿:網友

最近有一個項目要用到年份周期,用于數據統計圖表展示使用,當中用到年份周期,以及年份周期所在的日期范圍。當初設想通過已知數據來換算年份周期,經過搜索資料發現通過數據庫SQL語句來做,反而更加復雜。現在改變思路通過C#后臺代碼來算出兩段日期范圍中年份周期,在依據年份周期所對應的日期范圍進行數據庫查詢進行統計。需要解決以下兩個點問題,

第一點:依據日期查找所在年份的第幾周;

第二點:依據年份所在的周期計算出周期所在的日期范圍。

using System;using System.Collections.Generic;using System.Globalization;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication6{  class Program  {    static void Main(string[] args)    {      GregorianCalendar gc = new GregorianCalendar();      int weekOfYear = gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Monday);      Console.WriteLine("當前第{0}周", weekOfYear);      DateTime startDate, lastDate;      for (int i = 1; i <= 53; i++)      {        GetDaysOfWeeks(DateTime.Now.Year, i, out startDate, out lastDate);        Console.WriteLine("第{0}周", i);        Console.WriteLine(startDate);        Console.WriteLine(lastDate);      }      Console.ReadLine();    }    public static bool GetDaysOfWeeks(int year, int index, out DateTime first, out DateTime last)    {      first = DateTime.MinValue;      last = DateTime.MinValue;      if (year < 1700 || year > 9999)      {        //"年份超限"        return false;      }      if (index < 1 || index > 53)      {        //"周數錯誤"        return false;      }      DateTime startDay = new DateTime(year, 1, 1); //該年第一天      DateTime endDay = new DateTime(year + 1, 1, 1).AddMilliseconds(-1);      int dayOfWeek = 0;      if (Convert.ToInt32(startDay.DayOfWeek.ToString("d")) > 0)        dayOfWeek = Convert.ToInt32(startDay.DayOfWeek.ToString("d")); //該年第一天為星期幾      if (dayOfWeek == 0) { dayOfWeek = 7; }      if (index == 1)      {        first = startDay.AddDays(7 - dayOfWeek - 6);        if (dayOfWeek == 6)        {          last = first;        }        else        {          last = startDay.AddDays((7 - dayOfWeek));        }      }      else      {        first = startDay.AddDays((8 - dayOfWeek) + (index - 2) * 7); //index周的起始日期        last = first.AddDays(6);        //if (last > endDay)        //{        //  last = endDay;        //}      }      if (first > endDay) //startDayOfWeeks不在該年范圍內      {        //"輸入周數大于本年最大周數";        return false;      }      return true;    }  }}

  執行結果 

C#,周期,年份

總結

以上所述是小編給大家介紹的C# 獲取當前年份的周期及周期所在日期范圍(推薦),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 年辖:市辖区| 沅陵县| 鸡西市| 凤凰县| 嘉荫县| 吉木萨尔县| 洛南县| 石城县| 太康县| 宝山区| 高陵县| 钟祥市| 凭祥市| 施秉县| 思南县| 灌云县| 阳曲县| 聂拉木县| 清涧县| 永德县| 开封市| 乌审旗| 望谟县| 铜川市| 金塔县| 贞丰县| 当雄县| 万荣县| 奉化市| 昌图县| 四子王旗| 太谷县| 华安县| 周口市| 浮山县| 咸阳市| 汉阴县| 馆陶县| 奉化市| 台安县| 绥芬河市|