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 ...
随机推荐
- ios系统 ipa文件 打包流程详解 及 常见问题处理
注:先反省一下,原本打算一天一篇,每天进步一点点,但是最近变懒了,居然三天没有更新,在此告诫各位道友及我自己,程序员需戒欲,搞技术需持之以恒,不能三天打鱼,两天晒外. 现在步入主题,前段时间使用xco ...
- salt自动化部署
1. 到编译机器编译 /export/Deploy/vm-agent 执行脚本 ./vm-agent.sh develop -alpha 2.检查rpm包是否打包成功 http://172.18.13 ...
- 大数据竞赛平台——Kaggle 入门
Reference: http://blog.csdn.net/witnessai1/article/details/52612012 Kaggle是一个数据分析的竞赛平台,网址:https://ww ...
- Nodejs中Mongodb使用
Mongodb使用 打开解压后的Mongodb文件夹,新建data.logs文件夹,并在logs文件夹中新建mongodb.log文档. 添加后Mongod文件夹示意图: 用cmd命令行启动Mongo ...
- UVa 706 & ZOJ 1146 LC-Display
题目大意:给你一个数字n和字体大小s,输出数字的液晶显示.直接模拟,代码如下: #include <stdio.h> void draw(int n,int s,int row) { in ...
- 分布式cookie-session的实现(spring-session)
分布式cookie-session的实现(spring-session) 本文使用的spring-session版本为 1.0.0,地址为: https://github.com/spring-pro ...
- Angular - - $location 和 $window
$location $location服务解析浏览器地址中的url(基于window.location)并且使url在应用程序中可用.将地址栏中的网址的变化反映到$location服务和$locati ...
- delphi的TFileStream 内存流
一.文件 文本文件是以行为单位进行读.写操作的.文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读.写操作是不允许的. 二.定义 FileStream: TFileStream; 三.打 ...
- spring mvc 返回页面数据
handler package com.stone.controller; import java.util.Map; import javax.servlet.http.HttpServletReq ...
- easyUI progressbar组件
easyUI progressbar组件: <!DOCTYPE html> <html lang="en"> <head> <meta c ...