Пример #1
0
        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);
        }
Пример #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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        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));
        }
Пример #5
0
        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();
    }
Пример #7
0
        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);
        }
Пример #8
0
        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();
    }
Пример #10
0
 public static TimeSpan?AddDays(this TimeSpan?time, int days)
 {
     return(time?.AddDays(days)
            ?? default(TimeSpan?));
 }
Пример #11
0
 public static TimeSpan AddWeeks(this TimeSpan timeSpan, double value)
 {
     return(timeSpan.AddDays(value * 7));
 }