My97DatePicker.js 之无效日期设置
1.下载并引用My97DatePicker.js
2.将工作日休假的和周末上班的维护到数据库中
3.取出某段时间内的不上班日期集合
/// <summary>
///获取 无效日期集合 1 工作日休息(放假)2 休息日上班(上班)
/// </summary>
/// <returns></returns>
public JsonResult GetValidate()
{
List<string> Lst = new List<string>();
List<DateTime> valiDateLst = new List<DateTime>(); //工作日休息
List<DateTime> unvaliDateLst = new List<DateTime>(); //周末上班
var dt = DateTime.Now;
//前一个月
var fromTime = new DateTime(dt.Year, dt.Month < 2 ? 1 : dt.Month-1, 1);
//后六个月
var toTime = dt.Month > 6 ? new DateTime(fromTime.Year+1,1,1).AddDays(-1): fromTime.AddMonths(7).AddDays(-1);
//TimeSpan得到fromTime和toTime的时间间隔
var ts = toTime.Subtract(fromTime);
//获取两个日期间的总天数
long countday = ts.Days;
//循环用来扣除总天数中的双休日
for (var i = 0; i < countday; i++)
{
var tempdt = fromTime.Date.AddDays(i);
if (tempdt.DayOfWeek == DayOfWeek.Saturday || tempdt.DayOfWeek== DayOfWeek.Sunday)
{
string str = tempdt.ToString("yyyy-MM-dd");
Lst.Add(str);
}
}
List<SpecialDays> specialDaysLst= _specialDaysService.GetAllSpecialDaysList();
if (specialDaysLst==null)
{
specialDaysLst = new List<SpecialDays>();
}
var valiDate = from SpecialDays a in specialDaysLst where a.DayType == 1select a;
var nuValidate = from SpecialDays a in specialDaysLst where a.DayType == 2 select a;
//工作日休息
foreach (var vali in valiDate)
{
if (vali.StartDate.HasValue && vali.EndDate.HasValue)
{
for (DateTime date = vali.StartDate.Value; date <= vali.EndDate; )
{
valiDateLst.Add(date);
date=date.AddDays(1);
}
}
}
//休息日上班
foreach (var vali in nuValidate)
{
if (vali.StartDate.HasValue && vali.EndDate.HasValue)
{
for (DateTime date = vali.StartDate.Value; date <= vali.EndDate;)
{
unvaliDateLst.Add(date);
date = date.AddDays(1);
}
}
}
for (int i = 0; i < valiDateLst.Count; i++)
{
if ((Convert.ToDateTime(valiDateLst[i]) > fromTime && Convert.ToDateTime(valiDateLst[i]) < toTime) && !Lst.Contains(valiDateLst[i].ToString("yyyy-MM-dd")))
{
Lst.Add(valiDateLst[i].ToString("yyyy-MM-dd"));
}
}
for (int i = 0; i < unvaliDateLst.Count; i++)
{
if (Convert.ToDateTime(unvaliDateLst[i]) > fromTime && Convert.ToDateTime(unvaliDateLst[i]) < toTime)
{
Lst.Remove(unvaliDateLst[i].ToString("yyyy-MM-dd"));
}
}
return Json(Lst, JsonRequestBehavior.AllowGet);
}
4.页面引用加过滤条件
$("#ipt_repaymentDate").on("focus", function (dp) {
WdatePicker({
//opposite: true,//如果不设置则disabledDates参数中的值会是“无效日期”
disabledDates: unvalidate_date_Array
});
});
My97DatePicker.js 之无效日期设置的更多相关文章
- My97DatePicker{js日历插件}
VS自带了一个日历控件:Calendar,但是它有一个缺陷:即在选择,隐藏,显示的时候都会引起回传 Calendar控件的一些用法: 取值:Calendar1.SelectedDate.ToSh ...
- Ajax异步获取html数据中包含js方法无效的解决方法
页面上使用js写了一个获取后台数据的方法 function data() { var tab = $("#dic") $.ajax({ url: '../demo.ashx?met ...
- jquery/Js属性无效
今天遇到个很奇葩的问题,就是checkbox的onchange时间无效,我一共写了两个checkbox的onchange事件,但就是只有一个能用,本来我以为是jquery的兼容问题,但是换成js还是不 ...
- 为什么导入本地jquery.js老是无效?(已解决)
我从jquery官网里复制过来jquery.js内容,然后粘贴到本地,但是引用的时候总是无效. 在翻看脚本所在目录,无意间发现脚本文件是个jquery.js.js, 原来是我的文件的扩展名的问题 ...
- springmvc web-info目录下无法引入的js文件无效
今天在联系spring的时候而然遇到了个不起眼的问题.那就是在html或者说jsp页面中引用js文件的时候总是提示找不到路径.eclipse更是抛出 No mapping to aa.js. 我就奇怪 ...
- babel配置项目目录支持转换es6语法,引入非项目目录js后,引入Js转换无效
我遇到了一个问题,我在已经配置babel的项目中通过require引入了一个项目目录外层的另一个js文件,前期是可以成功转换并打包的,但是到了后期就不行了,报错: 这个报错的意思是,引入的js文件中有 ...
- My97DatePicker(js日期插件) v4.8
1.下载地址 https://files.cnblogs.com/files/yu-shang/My97DatePicker.zip 2.文档地址 http://my97.net/demo/index ...
- JS - 解决引入 js 文件无效的问题
增加 type 即可 <script type="text/javascript" src="....js"></script>
- jquery动态生成dom(比如append)导致js事件无效
如果无效用这个方法: on() 方法在被选元素及子元素上添加一个或多个事件处理程序. <div id="zkdiv"> <input type="bu ...
随机推荐
- 如何使用UDP进行跨网段广播(转)
源:如何使用UDP进行跨网段广播 广播域首先我们来了解一下广播域的概念.广播域是网络中能接收任一台主机发出的广播帧的所有主机集合.也就是说,如果广播域内的其中一台主机发出一个广播帧,同一广播域内所有的 ...
- 以太网数据包、IP包、TCP/UDP 包的结构(转)
源:以太网数据包.IP包.TCP/UDP 包的结构 版本号(Version):长度4比特.标识目前采用的IP协议的版本号.一般的值为0100(IPv4),0110(IPv6). IP包头长度(Head ...
- RDA5820收音机芯片驱动
RDA5820 是北京锐迪科推出的一款集成度非常高的立体声 FM收发芯片.该芯片具有以下 特点: FM 发射和接收一体 支持 65Mhz~115Mhz的全球 FM接收频段,收发天线共用. ...
- innodb系统表空间维护
环境说明: 有一个在运行中的mysql环境,由于之前的配置文件设置的过于简单(没有配置innodb_data_file_path变更):造成现在系统表空间已经满了 如果innodb_data_file ...
- Delphi 与 DirectX
关于DirectX 在Delphi下的使用 源:Delphi 与 DirectX
- spring框架学习(三)junit单元测试
spring框架学习(三)junit单元测试 单元测试不是头一次听说了,但只是听说从来没有用过.一个模块怎么测试呢,是不是得专门为一单元写一个测试程序,然后将测试单元代码拿过来测试? 我是这么想的.学 ...
- js原生拓展网址——mozilla开发者
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript https://developer.mozilla.org/zh-CN/docs/Web ...
- iOS 登陆之界面设置
1.界面构成 1.1. 效果图 1.2. 元素 背景图 用户名的输入框 密码的输入框 登陆按钮 忘记密码 用户注册 第三方登陆 两个分割线
- delphi edit编辑框使用
Delphi编辑框Edit的用法 http://wenku.baidu.com/link?url=oKKm0VFBXexqiWt9ZNB8WxFGzwjJqRBM3ohrAy6GSMmOmwIzSWP ...
- ASP.NET Zero--12.一个例子(5)商品分类管理-编辑分类
1.添加编辑按钮 打开文件Index.js [..\MyCompanyName.AbpZeroTemplate.Web\Areas\Mpa\Views\Category\Index.js] 在acti ...