首页 > Windows开发 > 详细

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

时间:2014-10-11 14:27:06      阅读:535      评论:0      收藏:0      [点我收藏+]

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

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

bubuko.com,布布扣
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事件

bubuko.com,布布扣
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;
            }
        }        
时间控件的离开事件

效果图如下
bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

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

 

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

原文:http://www.cnblogs.com/ZXdeveloper/p/4018886.html

(2)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!