public static void GetWeekWorkTime(int nYear, int nNumWeek, out DateTime dtWeekStart, out DateTime dtWeekeEnd) { DateTime time = new DateTime(nYear, 1, 1); time += new TimeSpan((nNumWeek - 1) * 7, 0, 0, 0); dtWeekStart = time.AddDays((double)(-time.DayOfWeek + 1)); dtWeekeEnd = time.AddDays((double)((6 - time.DayOfWeek) + 1)).AddDays(-2.0); }
/// <summary> /// 得到一年中的某周的起始日和截止日 周一到周五 工作日 /// </summary> /// <param name="_"></param> /// <param name="nYear">年份</param> /// <param name="nNumWeek">第几周</param> /// <param name="dtWeekStart">开始日期</param> /// <param name="dtWeekeEnd">结束日期</param> public static void GetWeekWorkTime(this DateTime _, int nYear, int nNumWeek, out DateTime dtWeekStart, out DateTime dtWeekeEnd) { var dt = new DateTime(nYear, 1, 1); dt += new TimeSpan((nNumWeek - 1) * 7, 0, 0, 0); dtWeekStart = dt.AddDays(-(int)dt.DayOfWeek + (int)DayOfWeek.Monday); dtWeekeEnd = dt.AddDays((int)DayOfWeek.Saturday - (int)dt.DayOfWeek + 1).AddDays(-2); }
/// <summary> /// 得到一年中的某周的起始日和截止日(星期日是第一天) /// </summary> /// <param name="dt"></param> /// <param name="year">年份</param> /// <param name="week">第几周(为0时从dt获取)</param> /// <param name="dtStart">开始日期</param> /// <param name="dtEnd">结束日期</param> public static void GetWeekTime(this DateTime dt, int year, int week, out DateTime dtStart, out DateTime dtEnd) { var date = new DateTime(year > 0 ? year : dt.Year, 1, 1); date += new TimeSpan((week - 1) * 7, 0, 0, 0); dtStart = date.AddDays(-(int)date.DayOfWeek + 1); dtEnd = date.AddDays(7 - (int)date.DayOfWeek); }
public static void GetWeek(int nYear, int nNumWeek, out DateTime dtWeekStart, out DateTime dtWeekeEnd) { DateTime d = new DateTime(nYear, 1, 1); d += new TimeSpan((nNumWeek - 1) * 7, 0, 0, 0); int num = (int)d.DayOfWeek; if (num == 0) { num = 7; } dtWeekStart = d.AddDays((double)(-(double)num + 1)); dtWeekeEnd = d.AddDays((double)(6 - num + 1)); }
private void OnTimePickerSelectedTimeChanged(object sender, EventArgs e) { TimeSpan newTimeOfDay = this.schedulerTimePicker.SelectedTime; if (this.SelectedDateTime.HasValue) { if (this.SelectedDateTime.Value.TimeOfDay == newTimeOfDay) { return; } else { if (this.TimePickerStartTime > newTimeOfDay) { newTimeOfDay = newTimeOfDay.AddDays(1); } this.SelectedDateTime = this.SelectedDateTime.Value.Date.Add(newTimeOfDay); } } else { this.SelectedDateTime = DateTime.Today.Add(newTimeOfDay); } }
static void Main(string[] args) { DateTime dt = new DateTime(2013, 1, 22); DateTime t = DateTime.Now; t -= new TimeSpan((int)t.DayOfWeek, 0, 0, 0); Console.WriteLine("start:" + t.ToString()); Console.WriteLine("end:" + t.AddDays(7)); Console.WriteLine("-------List----"); for (int i = 0; i < 7; i++) { Console.WriteLine("date: " + t.AddDays(i)); } Console.ReadLine(); }
public void AddDays_SubtractValue() { var target = new TimeSpan(4, 2, 3, 4); var expected = new TimeSpan(3, 2, 3, 4); //Act var actual = target.AddDays(-1); //Assert actual.Should().Be(expected); }
public void AddDays_AddValue() { var target = new TimeSpan(1, 2, 3, 4); var expected = new TimeSpan(2, 2, 3, 4); //Act var actual = target.AddDays(1); //Assert actual.Should().Be(expected); }
static void Main(string[] args) { DateTime t = DateTime.Now; //Your selected date from Calendar t -= new TimeSpan((int)t.DayOfWeek, 0, 0, 0); Console.WriteLine("\tstart: " + t.Date.ToShortDateString()); Console.WriteLine("\tend: " + t.Date.AddDays(7).ToShortDateString()); Console.WriteLine("\t" + new string('-', 25)); for (int i = 0; i < 7; i++) { var d = t.AddDays(i); if (d.DayOfWeek >= DayOfWeek.Monday && d.DayOfWeek <= DayOfWeek.Friday) //Range: Monday to Friday { Console.WriteLine(d.DayOfWeek + " : " + d); } } Console.ReadLine(); }
public static TimeSpan?AddDays(this TimeSpan?time, int days) { return(time?.AddDays(days) ?? default(TimeSpan?)); }
public static TimeSpan AddWeeks(this TimeSpan timeSpan, double value) { return(timeSpan.AddDays(value * 7)); }