a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > C# > 正文

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

2019-10-29 21:02:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

最近有一個(gè)項(xiàng)目要用到年份周期,用于數(shù)據(jù)統(tǒng)計(jì)圖表展示使用,當(dāng)中用到年份周期,以及年份周期所在的日期范圍。當(dāng)初設(shè)想通過(guò)已知數(shù)據(jù)來(lái)?yè)Q算年份周期,經(jīng)過(guò)搜索資料發(fā)現(xiàn)通過(guò)數(shù)據(jù)庫(kù)SQL語(yǔ)句來(lái)做,反而更加復(fù)雜。現(xiàn)在改變思路通過(guò)C#后臺(tái)代碼來(lái)算出兩段日期范圍中年份周期,在依據(jù)年份周期所對(duì)應(yīng)的日期范圍進(jìn)行數(shù)據(jù)庫(kù)查詢(xún)進(jìn)行統(tǒng)計(jì)。需要解決以下兩個(gè)點(diǎn)問(wèn)題,

第一點(diǎn):依據(jù)日期查找所在年份的第幾周;

第二點(diǎn):依據(jù)年份所在的周期計(jì)算出周期所在的日期范圍。

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("當(dāng)前第{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)      {        //"周數(shù)錯(cuò)誤"        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不在該年范圍內(nèi)      {        //"輸入周數(shù)大于本年最大周數(shù)";        return false;      }      return true;    }  }}

  執(zhí)行結(jié)果 

C#,周期,年份

總結(jié)

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


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到c#教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美日韩一区不卡 | 日韩精品在线观看视频 | 一区二区三区四区日韩 | 狠狠91| 国产一区久久 | 丁香久久 | 一级免费大片 | 久久人人看 | 久草青青 | 91精产国品一二三区在线观看 | 日韩精品一区二区三区 | 最新日韩在线 | 国产精品高清在线 | 中文字幕视频在线 | 国产精品美女久久久久人 | 亚洲毛片网站 | 色涩色 | 97国产在线 | 日本一区二区高清不卡 | 久久久免费 | 超碰日韩在线 | 免费看国产一级特黄aaaa大片 | 亚洲一级免费看 | 亚洲风情在线观看 | 精品久久久久久 | 久视频免费| 日韩综合网 | 国产欧美精品一区二区三区四区 | 亚洲 国产 另类 精品 专区 | 欧美综合色 | 中文字幕日韩欧美一区二区三区 | 成人午夜精品一区二区三区 | 国产精品久久 | 日韩免费激情视频 | 在线看av的网址 | 国产精品日本一区二区不卡视频 | h免费在线| 亚洲六月丁香色婷婷综合久久 | 欧美小电影 | 九九热免费精品视频 | 国产一级视频在线播放 |