`
joerong666
  • 浏览: 410318 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

获取有效工作日封装类

    博客分类:
  • c#
阅读更多

获取有效工作日封装类

http://www.sina.com.cn 2008年06月25日 16:36  IT168.com
<!----><!----><!---->
【IT168技术文档】

  在做项目的时候要求得到该月的有效工作日,于是开始写静态方法,后来由于还要获取当月开始到现在的有效工作日,于是再写方法,最后因为以后的项目还要用于是继续扩展,直接封装出一个类来。
using System;
using System.Collections.Generic;
using System.Text;
namespace MyCom.Util.Time
{
    /// <summary>
    /// 获取有效工作日
    /// </summary>
    public class WorkDateProvider
    {
        #region 静态方法段
        /// <summary>
        /// 在一段内获取有效工作日
        /// </summary>
        /// <param name="dt1">开始日期</param>
        /// <param name="dt2">结束日期</param>
        /// <param name="intNoContain">不包含日期数</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateBy2Date(DateTime dt1, DateTime dt2, int intNoContain)
        {
            //判断不包含天数是否合法
            if (intNoContain <= 0)
                throw (new Exception("不包含天数必须大于0"));
            return GetWorkDateBy2Date(dt1, dt2) - intNoContain;
        }
        /// <summary>
        /// 在一段内获取有效工作日
        /// </summary>
        /// <param name="dt1">开始日期</param>
        /// <param name="dt2">结束日期</param>
        /// <param name="intNoContain">不包含日期数</param>
        /// <param name="intContain">包含日期数</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateBy2Date(DateTime dt1, DateTime dt2, int intNoContain, int intContain)
        {
            if (intContain <= 0)
                throw (new Exception("包含天数必须大于0"));
            return GetWorkDateBy2Date(dt1, dt2, intNoContain) + intContain;
        }
        /// <summary>
        /// 在一段内获取有效工作日
        /// </summary>
        /// <param name="dt1">开始日期</param>
        /// <param name="dt2">结束日期</param>
        /// <param name="strarrNoContain">不包含日期列表</param>
        /// <param name="strarrContain">包含日期列表</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateBy2Date(DateTime dt1, DateTime dt2, string[] strarrNoContain, string[] strarrContain)
        {
            int intContain = 0;
            foreach (string strContain in strarrContain)
            {
                try
                {
                    DateTime dtDuring = DateTime.Parse(strContain);
                    if (dt1 <= dtDuring && dtDuring <= dt2)
                        switch (dtDuring.DayOfWeek) //判断是否本来不是工作日的日期
                        {
                            case DayOfWeek.Saturday:
                            case DayOfWeek.Sunday:
                                intContain++;
                                break;
                            default:
                                break;
                        }
                }
                catch (Exception ex)
                {
                    throw (ex);
                }
            }
            return GetWorkDateBy2Date(dt1, dt2, strarrNoContain) + intContain;
        }
        /// <summary>
        /// 在一段内获取有效工作日
        /// </summary>
        /// <param name="dt1">开始日期</param>
        /// <param name="dt2">结束日期</param>
        /// <param name="strarrNoContain">不包含日期列表</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateBy2Date(DateTime dt1, DateTime dt2, string[] strarrNoContain)
        {
            int intNotContain = 0;
            foreach (string strNoContain in strarrNoContain)
            {
                try
                {
                    DateTime dtDuring = DateTime.Parse(strNoContain);
                    if (dt1 <= dtDuring && dtDuring <= dt2)
                    {
                        switch (dtDuring.DayOfWeek)//判断原来是工作日
                        {
                            case DayOfWeek.Monday:
                            case DayOfWeek.Tuesday:
                            case DayOfWeek.Wednesday:
                            case DayOfWeek.Thursday:
                            case DayOfWeek.Friday:
                                intNotContain++;
                                break;
                            default:
                                break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw (ex);
                }
            }
            return GetWorkDateBy2Date(dt1, dt2, intNotContain);
        }
        /// <summary>
        /// 在一段内获取有效工作日
        /// </summary>
        /// <param name="dt1">开始日期</param>
        /// <param name="dt2">结束日期</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateBy2Date(DateTime dt1, DateTime dt2)
        {
            if (dt1 > dt2)
                throw (new Exception("开始日期必须大于结束日期"));
            int intTotalDays = 0;
            for (DateTime dtDuring = dt1; dtDuring <= dt2; dtDuring = dtDuring.AddDays(1))
            {
                switch (dtDuring.DayOfWeek)//判断是否为工作日
                {
                    case DayOfWeek.Monday:
                    case DayOfWeek.Tuesday:
                    case DayOfWeek.Wednesday:
                    case DayOfWeek.Thursday:
                    case DayOfWeek.Friday:
                        intTotalDays++;
                        break;
                    case DayOfWeek.Saturday:
                    case DayOfWeek.Sunday:
                        break;
                }
            }
            return intTotalDays;
        }
        /// <summary>
        /// 获取制定年月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="intYear">年份</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthAndYear(int intMonth, int intYear)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", intYear, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", intYear, intMonth, System.DateTime.DaysInMonth(intYear, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2);
        }
        /// <summary>
        /// 获取制定年月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="intYear">年份</param>
        /// <param name="intNoContain">不包含日期数</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthAndYear(int intMonth, int intYear, int intNoContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", intYear, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", intYear, intMonth, System.DateTime.DaysInMonth(intYear, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2, intNoContain);
        }
        /// <summary>
        /// 获取制定年月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="intYear">年份</param>
        /// <param name="intNoContain">不包含日期数</param>
        /// <param name="intContain">包含日期数</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthAndYear(int intMonth, int intYear, int intNoContain, int intContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", intYear, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", intYear, intMonth, System.DateTime.DaysInMonth(intYear, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2, intNoContain, intContain);
        }
        /// <summary>
        /// 获取制定年月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="intYear">年份</param>
        /// <param name="strarrNoContain">不包含日期列表</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthAndYear(int intMonth, int intYear, string[] strarrNoContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", intYear, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", intYear, intMonth, System.DateTime.DaysInMonth(intYear, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2, strarrNoContain);
        }
        /// <summary>
        /// 获取制定年月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="intYear">年份</param>
        /// <param name="strarrNoContain">不包含日期列表</param>
        /// <param name="strarrContain">包含日期列表</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthAndYear(int intMonth, int intYear, string[] strarrNoContain, string[] strarrContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", intYear, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", intYear, intMonth, System.DateTime.DaysInMonth(intYear, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2, strarrNoContain, strarrContain);
        }
        /// <summary>
        /// 获取本年制定月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthThisYear(int intMonth)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, intMonth, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2);
        }
        /// <summary>
        /// 获取本年制定月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="intNoContain">不包含日期数</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthThisYear(int intMonth, int intNoContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, intMonth, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2, intNoContain);
        }
        /// <summary>
        /// 获取本年制定月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="intNoContain">不包含日期数</param>
        /// <param name="intContain">包含日期数</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthThisYear(int intMonth, int intNoContain, int intContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, intMonth, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2, intNoContain, intContain);
        }
        /// <summary>
        /// 获取本年制定月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="strarrNoContain">不包含日期列表</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthThisYear(int intMonth, string[] strarrNoContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, intMonth, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2, strarrNoContain);
        }
        /// <summary>
        /// 获取本年制定月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="strarrNoContain">不包含日期列表</param>
        /// <param name="strarrContain">包含日期列表</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByMonthThisYear(int intMonth, string[] strarrNoContain, string[] strarrContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, intMonth));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, intMonth, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, intMonth)));
            return GetWorkDateBy2Date(dt1, dt2, strarrNoContain, strarrContain);
        }
        /// <summary>
        /// 获取本年本月的有效工作日
        /// </summary>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByThisMonthThisYear()
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, DateTime.Now.Date.Month));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, DateTime.Now.Date.Month, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, DateTime.Now.Date.Month)));
            return GetWorkDateBy2Date(dt1, dt2);
        }
        /// <summary>
        /// 获取本年本月的有效工作日
        /// </summary>
        /// <param name="intNoContain">不包含日期数</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByThisMonthThisYear(int intNoContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, DateTime.Now.Date.Month));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, DateTime.Now.Date.Month, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, DateTime.Now.Date.Month)));
            return GetWorkDateBy2Date(dt1, dt2, intNoContain);
        }
        /// <summary>
        /// 获取本年本月的有效工作日
        /// </summary>
        /// <param name="intNoContain">不包含日期数</param>
        /// <param name="intContain">包含日期数</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByThisMonthThisYear(int intNoContain, int intContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, DateTime.Now.Date.Month));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, DateTime.Now.Date.Month, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, DateTime.Now.Date.Month)));
            return GetWorkDateBy2Date(dt1, dt2, intNoContain, intContain);
        }
        /// <summary>
        /// 获取本年本月的有效工作日
        /// </summary>
        /// <param name="strarrNoContain">不包含日期列表</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByThisMonthThisYear(string[] strarrNoContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, DateTime.Now.Date.Month));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, DateTime.Now.Date.Month, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, DateTime.Now.Date.Month)));
            return GetWorkDateBy2Date(dt1, dt2, strarrNoContain);
        }
        /// <summary>
        /// 获取本年本月的有效工作日
        /// </summary>
        /// <param name="strarrNoContain">不包含日期列表</param>
        /// <param name="strarrContain">包含日期列表</param>
        /// <returns>有效工作日数</returns>
        public static int GetWorkDateByThisMonthThisYear(string[] strarrNoContain, string[] strarrContain)
        {
            DateTime dt1 = DateTime.Parse(string.Format("{0}-{1}-01", DateTime.Now.Date.Year, DateTime.Now.Date.Month));
            DateTime dt2 = DateTime.Parse(string.Format("{0}-{1}-{2}", DateTime.Now.Date.Year, DateTime.Now.Date.Month, System.DateTime.DaysInMonth(DateTime.Now.Date.Year, DateTime.Now.Date.Month)));
            return GetWorkDateBy2Date(dt1, dt2, strarrNoContain, strarrContain);
        }
        #endregion
        #region 内部变量
        protected int _WorkDateYear = DateTime.Now.Year;
        protected int _WorkDateMonth = DateTime.Now.Month;
        protected string[] _NoContainDays = null;
        protected string[] _ContainDays = null;
        protected DateTime _WorkDateStart = DateTime.Now;
        protected DateTime _WorkDateEnd = DateTime.Now;
        protected GetDaysType _GetDaysType = GetDaysType.ByMonthAndYear;
        #endregion
        #region 属性
        /// <summary>
        /// 制定年份
        /// </summary>
        public int WorkDateYear
        {
            set
            {
                _WorkDateYear = value;
            }
            get
            {
                return _WorkDateYear;
            }
        }
        /// <summary>
        /// 制定月份
        /// </summary>
        public int WorkDateMonth
        {
            set
            {
                _WorkDateMonth = value;
            }
            get
            {
                return _WorkDateMonth;
            }
        }
        /// <summary>
        /// 不包含日期
        /// </summary>
        public string[] NoContainDays
        {
            set
            {
                _NoContainDays = value;
            }
            get
            {
                return _NoContainDays;
            }
        }
        /// <summary>
        /// 包含日期
        /// </summary>
        public string[] ContainDays
        {
            set
            {
                _ContainDays = value;
            }
            get
            {
                return _ContainDays;
            }
        }
        /// <summary>
        /// 开始日期
        /// </summary>
        public DateTime WorkDateStart
        {
            set
            {
                _WorkDateStart = value;
            }
            get
            {
                return _WorkDateStart;
            }
        }
        /// <summary>
        /// 结束日期
        /// </summary>
        public DateTime WorkDateEnd
        {
            set
            {
                _WorkDateEnd = value;
            }
            get
            {
                return _WorkDateEnd;
            }
        }
        /// <summary>
        /// 获取工作日类型
        /// </summary>
        public GetDaysType EmunGetDaysType
        {
            set
            {
                _GetDaysType = value;
            }
            get
            {
                return _GetDaysType;
            }
        }
        #endregion
        #region 调用枚举
        /// <summary>
        /// 获取工作日类型枚举
        /// </summary>
        public enum GetDaysType
        {
            ByDateStartAndEnd,
            ByMonthAndYear
        }
        #endregion
        #region 实例构造函数
        /// <summary>
        /// 默认本年本月获取有效工作日
        /// </summary>
        public WorkDateProvider()
        {
            EmunGetDaysType = GetDaysType.ByMonthAndYear;
        }
        /// <summary>
        /// 设定开始日期和结束日期获取有效工作日
        /// </summary>
        /// <param name="dt1">开始日期</param>
        /// <param name="dt2">结束日期</param>
        public WorkDateProvider(DateTime dt1, DateTime dt2)
        {
            WorkDateStart = dt1;
            WorkDateEnd = dt2;
            EmunGetDaysType = GetDaysType.ByDateStartAndEnd;
        }
        /// <summary>
        /// 设定本年指定月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        public WorkDateProvider(int intMonth)
        {
            WorkDateMonth = intMonth;
            EmunGetDaysType = GetDaysType.ByMonthAndYear;
        }
        /// <summary>
        /// 设定指定年月的有效工作日
        /// </summary>
        /// <param name="intMonth">月份</param>
        /// <param name="intYear">年份</param>
        public WorkDateProvider(int intMonth, int intYear)
        {
            WorkDateMonth = intMonth;
            WorkDateYear = intYear;
            EmunGetDaysType = GetDaysType.ByMonthAndYear;
        }
        #endregion
        #region 实例方法段
        /// <summary>
        /// 获取有效时间
        /// </summary>
        /// <returns>有效工作日数</returns>
        public int GetWorkDays()
        {
            return GetWorkDays(EmunGetDaysType);
        }
        /// <summary>
        /// 获取有效时间
        /// </summary>
        /// <param name="getDaysType">获取时间类型</param>
        /// <returns>有效工作日数</returns>
        public int GetWorkDays(GetDaysType getDaysType)
        {
            if (getDaysType == GetDaysType.ByDateStartAndEnd)
                return GetWorkDayByDateStartAndEnd();
            else
                return GetWorkDayByYearAndMonth();
        }
        /// <summary>
        /// 获取制定年月的有效工作日
        /// </summary>
        /// <returns>有效工作日数</returns>
        private int GetWorkDayByYearAndMonth()
        {
            WorkDateStart = DateTime.Parse(string.Format("{0}-{1}-01", WorkDateYear, WorkDateMonth));
            WorkDateEnd = DateTime.Parse(string.Format("{0}-{1}-{2}", WorkDateYear, WorkDateMonth, DateTime.DaysInMonth(WorkDateYear, WorkDateMonth)));
            return GetWorkDayByDateStartAndEnd();
        }
        /// <summary>
        /// 获取开始日期到结束日期之间的有效工作日
        /// </summary>
        /// <returns>有效工作日数</returns>
        protected int GetWorkDayByDateStartAndEnd()
        {
            //判断时间有效性          
            if (WorkDateStart > WorkDateEnd)
                throw (new Exception("开始日期大于结束日期"));
            int intNoContainDays = 0;
            int intContainDays = 0;
            int intTotalDays = 0;
            //计算不包含日期数
            if (NoContainDays != null)
                foreach (string strNoContain in NoContainDays)
                {
                    DateTime dtDuring = DateTime.Parse(strNoContain);
                    if (WorkDateStart <= dtDuring && dtDuring <= WorkDateEnd)
                    {
                        switch (dtDuring.DayOfWeek)
                        {
                            case DayOfWeek.Monday:
                            case DayOfWeek.Tuesday:
                            case DayOfWeek.Wednesday:
                            case DayOfWeek.Thursday:
                            case DayOfWeek.Friday:
                                intNoContainDays++;
                                break;
                            default:
                                break;
                        }
                    }
                }
            //计算包含日期数
            if (ContainDays != null)
                foreach (string strContain in ContainDays)
                {
                    DateTime dtDuring = DateTime.Parse(strContain);
                    if (WorkDateStart <= dtDuring && dtDuring <= WorkDateEnd)
                    {
                        switch (dtDuring.DayOfWeek)
                        {
                            case DayOfWeek.Saturday:
                            case DayOfWeek.Sunday:
                                intContainDays++;
                                break;
                            default:
                                break;
                        }
                    }
                }
            //计算常规日期数
            for (DateTime dtDuring = WorkDateStart; dtDuring <= WorkDateEnd; dtDuring = dtDuring.AddDays(1))
            {
                switch (dtDuring.DayOfWeek)
                {
                    case DayOfWeek.Monday:
                    case DayOfWeek.Tuesday:
                    case DayOfWeek.Wednesday:
                    case DayOfWeek.Thursday:
                    case DayOfWeek.Friday:
                        intTotalDays++;
                        break;
                    default:
                        break;
                }
            }
            return intTotalDays - intNoContainDays + intContainDays;
        }
        #endregion
    }
}
分享到:
评论

相关推荐

    c#学习笔记.txt

    尽管可能将一个点表示为类,但结构在某些方案中更有效。在一些情况下,结构的成本较低。例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。结构可以声明构造函数,但它们必须带参数。...

    JAVA面试题最全集

    如何获取某个日期是当月的最后一天 如何格式化日期 5.数组和集合 6.文件和目录(I/O)操作 如何列出某个目录下的所有文件 如何列出某个目录下的所有子目录 判断一个文件或目录是否存在 如何读写文件 7.Java...

    asp.net知识库

    为ASP.NET封装的SQL数据库访问类 DataTable.Select方法的性能问题 .NET 2.0里使用强类型数据创建多层应用 ADO.NET实用经验无保留曝光 有了System.Data.IDataReader,一切皆成数据 理解DataSet的数据缓存机制 存储过程...

    网络安全实验报告完整.doc

    实验三 网络攻防技术 矛与盾的关系告诉我们,在研究网络安全技术时,只着眼于安全防范技术是远远不够 的,知己知彼方能百战不殆,因此,很有必要同时研究攻击与防范技术,才能更有效地 解决各种威胁。 实验四 ...

    jQuery权威指南-源代码

    jQuery以其轻巧的体积、强大的选择器、出色的DOM封装、丰富的插件支持使得广大的Web前端开发者得心应手,极大地提高了他们的开发效率;此外,jQuery中完善的Ajax功能、行为与结构层的分离、可靠的事件处理机制也同样...

    asoft签到管理系统tykq3.5_build20110125

    【官方支持】 ...实在不能解决,请Q我:2643148,请附加信息:asoft签到管理系统。 【如何安装】 ...4、 修改单机模式和局域网模式的跳转,现在当你单机测试的时候程序不再向网关发送请求来获取返回的IP地址...

    Maven2 的新特性.7z

    在settings.xml中可以配置,如本地Repository、proxy等等,关于settings.xml的结构可以从Maven的官方网站上获取。 3. Plugin语言更换 在Maven2中,编写plugin的语言由jelly变更为Java和BeanShell。Java在速度上更有...

    C#微软培训资料

    &lt;&lt;page 1&gt;&gt; page begin==================== 目 目目 目 录 录录 ... 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代...

    JAVA上百实例源码以及开源项目

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

    岳维功 ortp-realease.pdf

    为了方便将移植到不同平台上,实现了对操作系统接口的封装,包括常用的 仼务的创建及销毁,条件变量及互斥锁,进程间的管道通信机制等。这些在文件中实 现 狳了操作系统相关的接口外,为了便于内部操作,实现了部分数据...

    国内外主流的三维GIS软件

     特点:EV-Globe基于组件式开发,所有功能以控件或类的方式封装在dll中,用户可以很方便进行各种功能定制,甚至将EV-Globe嵌入各类信息系统中。EV-Globe具备在普通PC机上就能实现的海量三维模型和影像流畅地进行...

    新版Android开发教程.rar

    开放手机联盟, Open Handset Alliance :是美国 Google 公司与 2007 年 11 月 5 日宣布组建的一个全球性的联 盟组织。这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 ...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    XML的parser发展为两类:一种是"非确认类paeser",只检测文档是否遵守XML语法规则,是否用元素标识建立了文档树。另一种是"确认类paeser",它不但检测文档语法,结构树,而且比较解析你使用的元素标识是否遵守了相应...

Global site tag (gtag.js) - Google Analytics