zoukankan      html  css  js  c++  java
  • datetime各种处理。记录下,备不时之需。

    1. 获取某段日期范围内的所有日期

    /// <summary>
        /// 获取某段日期范围内的所有日期,以数组形式返回
        /// </summary>
        /// <param name="dt1">开始日期</param>
        /// <param name="dt2">结束日期</param>
        /// <returns></returns>
        private DateTime[] GetAllDays(DateTime dt1, DateTime dt2)
        {
            List<DateTime> listDays = new List<DateTime>();
            DateTime dtDay = new DateTime();
            for (dtDay = dt1; dtDay.CompareTo(dt2) <= 0; dtDay = dtDay.AddDays(1))
            {
                listDays.Add(dtDay);
            }
            return listDays.ToArray();
        }

    2. 根据年份和周次获得对应的时间范围

    /// <summary>
        /// 根据年份和周次获得对应的时间范围
        /// </summary>
        /// <param name="yearInt"></param>
        /// <param name="weekInt"></param>
        /// <returns></returns>
        private string range(int yearInt, int weekInt)
        {
            int year, year1, year2, month1, month2, day1, day2, week, sum = 0;
            int[] days = new int[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
            int i;
            year = yearInt;
            week = weekInt;
            sum += 7 * (week - 1);        //修正总天数   
            switch (DateTime.Parse(year + "-1-1").DayOfWeek)
            {
                case DayOfWeek.Tuesday: { sum -= 1; break; }
                case DayOfWeek.Wednesday: { sum -= 2; break; }
                case DayOfWeek.Thursday: { sum -= 3; break; }
                case DayOfWeek.Friday: { sum -= 4; break; }
                case DayOfWeek.Saturday: { sum -= 5; break; }
                case DayOfWeek.Sunday: { sum -= 6; break; }
                default:
                    break;
            }
            if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
            { days[1] = 29; } for (i = 0; i < days.Length; i++)
            {
                if (sum >= days[i]) { sum -= days[i]; } else { break; }
            } year1 = year; month1 = i + 1; day1 = sum + 1;//修改开始日期   
            if (day1 < 1)
            { day1 += days[11]; month1 = 12; year1--; }
            year2 = year1; month2 = month1; day2 = day1 + 6;
            if (day2 > days[month1 - 1])
            {
                day2 -= days[month1 - 1];
                month2++; if (month2 > 12) { month2 = 1; year2++; }
            }
            string ss = year1 + "年" + month1 + "月" + day1 + "日~" + year2 + "年" + month2 + "月" + day2 + "日";
        
            return ss;
        }

    3. 根据系统当前时间获得今天是今年的第几周

    /// <summary>
        /// 根据系统当前时间获得今天是今年的第几周
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        private int WeekOfYear(string date)
        {
            DateTime curDay = Convert.ToDateTime(date);

            int firstdayofweek = Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString() + "- " + "1-1 ").DayOfWeek);

            int days = curDay.DayOfYear;
            int daysOutOneWeek = days - (7 - firstdayofweek);

            if (daysOutOneWeek <= 0)
            {
                return 1;
            }
            else
            {
                int weeks = daysOutOneWeek / 7;
                if (daysOutOneWeek % 7 != 0)
                    weeks++;

                return weeks + 1;
            }
        }

    4.datetime.now.tostring("dddd");获得当前日期的星期几。

  • 相关阅读:
    2015531 网络攻防 Exp1 PC平台逆向破解(5)M
    2017-2018-1 20155331 嵌入式C语言
    20155330 《网络对抗》 Exp9 web安全基础实践
    20155330 《网络对抗》 Exp8 Web基础
    20155330 《网络对抗》 Exp7 网络欺诈防范
    20155330 《网络对抗》 Exp6 信息搜集与漏洞扫描
    20155330 《网络对抗》 Exp5 MSF基础应用
    20155330 《网络攻防》 Exp4 恶意代码分析
    20155330 《网络攻防》 Exp3 免杀原理与实践
    20155330 《网络对抗》 Exp2 后门原理与实践
  • 原文地址:https://www.cnblogs.com/fanshaomin/p/3817167.html
Copyright © 2011-2022 走看看