博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
是否是工作日和节假日判定
阅读量:6326 次
发布时间:2019-06-22

本文共 8546 字,大约阅读时间需要 28 分钟。

根据节假日表分析当前日期是否属于节假日配置表的时间以及判定当前日期是否属于双休日

首先建一张节假日表PricingHoliday  ID  节假日时间  HDate   是否工作日 HType  2表示不上班  非工作日, 1表示正常上班     工作日

判定代码:

private string _strWorkingDayAM = "00:00";//工作时间        private string _strWorkingDayPM = "23:59";        private string _strRestDay = "6,7";//周几休息日 周六周日为 6,7        private TimeSpan dspWorkingDayAM;//工作时间        private TimeSpan dspWorkingDayPM;//下午工作时间        clsArrayList myArrayList;        ///         /// 是否周休日        ///         /// 
private bool m_IsWorkingDay() { string strWeekNow = this.m_GetWeekNow();//当前周几 //判断是否休息日 for (int i = 0; i < myArrayList.p_Count; i++) { if (strWeekNow == myArrayList.m_GetItem(i)) { return false; } } //判断当前时间是否在工作时间段内 TimeSpan dspNow = DateTime.Now.TimeOfDay; //string date = DateTime.Now.ToShortDateString(); if (dspNow > dspWorkingDayAM && dspNow < dspWorkingDayPM) { return true;//是在工作时间内 } return false;//不是在工作时间内 } /// /// 初始化默认值 /// private void m_InitWorkingDay() { dspWorkingDayAM = DateTime.Parse(_strWorkingDayAM).TimeOfDay; dspWorkingDayPM = DateTime.Parse(_strWorkingDayPM).TimeOfDay; myArrayList = new clsArrayList(_strRestDay, ','); } /// /// 获取当前周几 /// ///
private string m_GetWeekNow() { string strWeek = DateTime.Now.DayOfWeek.ToString(); switch (strWeek) { case "Monday": return "1"; case "Tuesday": return "2"; case "Wednesday": return "3"; case "Thursday": return "4"; case "Friday": return "5"; case "Saturday": return "6"; case "Sunday": return "7"; } return "0"; } /// /// 初始化1是工作日 2 是非工作日 /// /// /// private void FrmManagement_Load(object sender, EventArgs e) { this.m_InitWorkingDay(); bool bol = this.m_IsWorkingDay(); int resultYesOrNo = GetIsWorkDate(); //双休日和工作日判断 if ((bol.ToString().Equals(true)) && resultYesOrNo == 1) { this.labelX1.Text = "今天是工作日,非节假日"; } else if (resultYesOrNo == 1) { this.labelX1.Text = "今天是工作日,非节假日"; } else if ((bol.Equals(true))) { this.labelX1.Text = "今天是工作日"; } else { this.labelX1.Text = "今天是节假日非工作日"; } } /// /// 获取是否工作日的类型 1工作日 2 非工作日 /// ///
public int GetIsWorkDate() { string date = DateTime.Now.ToString("yyyy-MM-dd"); string sqlWork = "SELECT HType FROM PricingHoliday WHERE HDate='" + date + "'"; int iresult = 0; string htype = null; try { DataTable dt = helper.Selectinfo(sqlWork); for (int i = 0; i < dt.Rows.Count; i++) { //从数据库得到字段的值 htype = dt.Rows[0]["HType"].ToString(); } if (htype=="1") { return iresult=1; } if (htype == "2") { return iresult =2; } } catch { } return iresult; }
View Code

 

使用类:

public  class clsArrayList    {        public int p_Count = -1; //数据组数        private string[] myArray1; //一维矩阵        private string[,] myArray2; //二维矩阵        ///         /// 一维字符串分隔,初始化.例: clsArrayList myArray1List=new clsArrayList("1;2;3;4;5",';')        ///         ///         /// 
public clsArrayList(string strStringSource, char charSepartor) { try { myArray1 = strStringSource.Split(charSepartor);//截取 p_Count = myArray1.Length; } catch (Exception ex) { clsLogHelper.m_CreateErrorLogTxt("clsArrayList(" + strStringSource + " , " + charSepartor + ")", "", ex.Message.ToString()); } } /// /// 二维字符串分隔,初始化. 例: clsArrayList myArray1List=new clsArrayList("1,A;2,B;3,C;4,D;5,E" , ';' , ',') /// /// /// /// ///
public clsArrayList(string strStringSource, char charColumnSepartor, char charRowSepartor) { try { string[] strColumn; //第一次截取 ";" string[] strRow; //第二次截取 "," strColumn = strStringSource.Split(charColumnSepartor);//第一次截取 p_Count = strColumn.Length; myArray2 = new string[p_Count, 2]; for (int i = 0; i <= p_Count - 1; i++) //将数据保存 数组 myArray1 中 { strRow = strColumn[i].Split(charRowSepartor);//第二次截取 myArray2[i, 0] = strRow[0]; myArray2[i, 1] = strRow[1]; } } catch (Exception ex) { clsLogHelper.m_CreateErrorLogTxt("clsArrayList(" + strStringSource + " , " + charColumnSepartor + " , " + charRowSepartor + ")", "", ex.Message.ToString()); } } /// /// 一维字符串,取值 /// /// ///
public string m_GetItem(int intIndex) { if (myArray1 == null) { return ""; } if (p_Count == -1) { return ""; } if (intIndex > p_Count - 1) { return ""; } else { return myArray1[intIndex]; } } /// /// 二维字符串,取值 /// /// /// ///
///
public string m_GetItem(int intKeyIndex, int intValueIndex) { if (myArray2 == null) { return ""; } if (p_Count == -1) { return ""; } if (intKeyIndex > p_Count - 1 || intValueIndex > 1)//Value为列,二维 { return ""; } else { return myArray2[intKeyIndex, intValueIndex]; } } /// /// 二维字符串,通过Value 获取Key ,例: m_GetKey("1") /// /// ///
///
public string m_GetKey(string strValue) { try { if (myArray2 == null) { return ""; } if (p_Count == -1) { return ""; } for (int i = 0; i <= p_Count - 1; i++) //通过value查找key { if (myArray2[i, 1] == strValue) { return myArray2[i, 0]; //返回key的值 } } return ""; } catch (Exception ex) { clsLogHelper.m_CreateErrorLogTxt("clsArrayList(" + strValue + ")", "", ex.Message.ToString()); return ""; } } /// /// 二维字符串,通过Key 获取Value /// /// ///
///
public string m_GetValue(string strKey) { try { if (myArray2 == null) { return ""; } if (p_Count == -1) { return ""; } for (int i = 0; i <= p_Count - 1; i++) //通过key查找value { if (myArray2[i, 0] == strKey) { return myArray2[i, 1]; //返回value的值 } } return ""; } catch (Exception ex) { clsLogHelper.m_CreateErrorLogTxt("m_GetValue(" + strKey + ")", "", ex.Message.ToString()); return ""; } }
View Code

 

转载地址:http://obgaa.baihongyu.com/

你可能感兴趣的文章
『中级篇』K8S最小调度单位Pod(62)
查看>>
我的友情链接
查看>>
ACE网络编程思考(一)
查看>>
数据结构的几种存储方式
查看>>
React源码学习——ReactClass
查看>>
JavaScript中几个相似方法对比
查看>>
如何恢复RAWD盘的资料
查看>>
物联网+云平台未来方向之一
查看>>
大作业项目
查看>>
北大校长王恩哥送给毕业学生的十句话
查看>>
IDC简报:2012年全球六大最佳主机服务器提供商
查看>>
HC3i论坛5月份热门资源30个
查看>>
mysqldump导出--数据+结构+(函数+存储过程)
查看>>
浏览器的渲染原理简介
查看>>
使用window.performance分析web前端性能
查看>>
获取系统当前时间参数date
查看>>
MySQL性能优化的最佳20+条经验
查看>>
exchange server 相关
查看>>
centos7系列安装vnc服务并授权用户访问
查看>>
CentOS mailx client
查看>>