WPF判断日期是工作日还是节假日

通过API(http://www.easybots.cn/holiday_api.net)获取返回信息

写一个接收的反馈的函数IsHoliday

public string IsHoliday(string date)
        {
            string url = @"http://www.easybots.cn/api/holiday.php?d=";
            url = url + date;
            HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
            httpRequest.Timeout = 2000;
            httpRequest.Method = "GET";
            HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
            StreamReader sr = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312"));
            string result = sr.ReadToEnd();
            result = result.Replace("\r", "").Replace("\n", "").Replace("\t", "");
            int status = (int)httpResponse.StatusCode;
            sr.Close();
            return result;
        }

节假日函数

根据API,可以发现返回的内容有以下三种
{"20130101":"2"}

{"20130103":"1"}

{"20130201":0}

由于我们只需要判断是否为工作日,因此需要判断两种,即为0或者不为0。

为0的情况不存在“”,1和2存在“”,这个要注意

通过最简单的字段截取方式

substring(s.length-2,1);

判断截取的字段是否为0,就可以了

然后给datepicker控件写一个MouseLeave事件

private void DP_MouseLeave(object sender, MouseEventArgs e)
        {
            string date = Convert.ToDateTime(DP.Text.ToString()).ToString("yyyyMMdd");
            string num = IsHoliday(date).Substring(IsHoliday(date).Length-2, 1);
            switch(num)
            {
                case "0":
                    TB.Text = "工作日";
                    break;
                default:
                    TB.Text = "节假日";
                    break;
            }
        }        

时间控件的离开事件

效果图如下

当然了,前两天新闻说的北京11月7日到12日部分单位放假,这个是不支持的。

时间: 2024-09-30 18:47:27

WPF判断日期是工作日还是节假日的相关文章

判断日期是否为法定节假日的API接口与示例函数

需要判定某日期是否为法定节假日,由于国家的节假日每年都在变动,所以使用接口判定是必要的.可惜的是,这样的接口并不多,在此汇总三个: http://tool.bitefu.net/jiari/ http://www.easybots.cn/holiday_api.net https://www.juhe.cn/docs/api/id/177 前两个看起来是个人的,最后一个是聚合数据的万年历接口. 在我的小项目中使用了前两个.感觉个人的搭建可能不会太稳定,但是聚合的api我看限制越来越多,每天只能进

java 获取n个工作日后的日期(包含法定节假日、双休日、节后补班)

1.说明: 获取n个工作日后的日期(包含法定节假日.双休日.节后补班),需要在数据库手动入库当年的法定节假日及节假日调休补班.(也可写在配置文件中读取) 2.工具类代码 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; /** * 用于查询n个工作日(包含法定节假日.

java 判断日期是否是节假日

1.新建一个excel命名为“节假日.xls”存放节假日,模板格式如下 2.判断是否是节假日的类 工作日返回true ,休息日返回false. 需要引用poi-bin-3.9包,包放在博客文件中 import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.net.MalformedURLException

ThinkPHP中如何获取指定日期后工作日的具体日期

思路: 1.获取到查询年份内所有工作日数据数组2.获取到查询开始日期在工作日的索引3.计算需查询日期索引4.获得查询日期 /*创建日期类型记录表格*/ CREATE TABLE `tb_workday` ( `did` int(11) NOT NULL AUTO_INCREMENT, `exact_date` varchar(32) NOT NULL COMMENT '具体日期:格式date("Ymd");(20170205)', `date_year` varchar(32) NOT

通过 api 调用检查具体日期是否为法定节假日

通过 api 调用检查具体日期是否为法定节假日 通过中国法定节假日检查api, http://www.easybots.cn/holiday_api.net 功能特点 检查具体日期是否为节假日,工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2: 获取具体月份下的节假日情况,只返回休息日或节假日对应的结果: 可同时传递一个或者多个日期(月份): 支持 2010 年起中国法定节假日,以国务院发布的公告为准,随时调整及增加: 参数可以以 GET 或 POST 方式传递,以 JSO

js 判断日期时间大小

1 checkTime = function() { 2 var startTime = document.getElementById("startTime").value; 3 var endTime = document.getElementById("endTime").value; 4 compareCalendar(startTime, endTime); 5 } 6 //比较日前大小 7 function compareDate(checkStartD

判断日期之差

function checkTime(){ var dateInp=$("#dateInp").val(); var day1=Date.parse(dateInp.replace(/-/g, "/")); var nowDate = new Date(); var dateStr = nowDate.getFullYear()+"/"+(nowDate.getMonth() + 1)+"/"+nowDate.getDate(

异常语句(判断日期)

利用异常语句判断日期

Linux C判断日期格式是否合法

Title:Linux C判断日期格式是否合法 --2013-10-11 11:54 #include <string.h> // strlen() , strncpy() #include <ctype.h> // isdigit() #include <stdlib.h> // atoi() #include <stdio.h> /*有效格式 2013-01-01 01:01:01 2013/11/11 11:11:11 */ int main() {