winform中獲取當前周次

/*方法一*/
var dt = DateTime.Now;
//找到今年的第一天是周幾
int firstWeekend = Convert.ToInt32(DateTime.Parse(dt.Year + "-1-1").DayOfWeek);this

//獲取第一週的差額,若是是週日,則firstWeekend爲0,第一週也就是從周天開始的。
int weekDay = firstWeekend == 0 ? 1 : (7 - firstWeekend + 1);io

//獲取今天是一年當中的第幾天
int currentDay = dt.DayOfYear;gc

//(今天 減去 第一週週末)/7 等於 距第一週有多少周 再加上第一週的1 就是今天是今年的第幾周了
// 恰好考慮了唯一的特殊狀況就是,今天恰好在第一週內,那麼距第一週就是0 再加上第一週的1 最後仍是1
int current_week = Convert.ToInt32(Math.Ceiling((currentDay - weekDay) / 7.0)) + 1;方法

this.label1.Text = "當前周次:" + current_week.ToString();im

 

/*方法二*/
System.Globalization.GregorianCalendar gc = new System.Globalization.GregorianCalendar();
int weekOfYear = gc.GetWeekOfYear(DateTime.Now, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday);
this.label1.Text = "當前周次:" + weekOfYear.ToString();new

相關文章
相關標籤/搜索