My97DatePicker选择两个日期范围不超过30天的demo
需求
ExtJs下使用My97DatePicker对时间范围不超过30天进行选择。
关键点
- 使用全局变量。
- 对选择完的第一个日期进行逻辑判断。(我的逻辑能力还有待加强啊)
- 因为当选择了第一个框范围在超过30天的地方,而因为第二个框已经有默认值是今天了,如果用户不碰第二个框就查询会出现超过一个月的问题。于是在选完第一个框就强制弹出第二个框。(我是不是偷懒了- . -?)
代码例子
//全局变量
var min_date = Gsui.Date.format(new Date(new Date().getTime()- 7*24*60*60*1000),'Y-m-d H:i:s');
var max_date = Gsui.Date.format(new Date(new Date().getTime()),'Y-m-d H:i:s');
items : [
{
xtype : 'tbtext',
text : '搜索时间:'
}, {
xtype : 'textfield',
inputId : 'start-date-inputEl',
name : 'filter_begin_time',
id : 'filter_begin_time',
itemId:'filter_begin_time',
value : Gsui.Date.format(new Date(new Date().getTime() - 7*24*60*60*1000),'Y-m-d H:i:s'),
listeners : {
render : function(p) {
p.getEl().on('click', function() {
var filter_end_time = $dp.$('filter_end_time');
WdatePicker({
el : 'start-date-inputEl',
dateFmt : 'yyyy-MM-dd HH:mm:ss',
maxDate : '%y-%M-%d',
onpicked : function(){
filter_end_time.click();
},
onpicking : function(dp){
min_date = dp.cal.getNewDateStr();
var start = min_date;
if(start != "" && start != null){
var endMaxDate = new Date(start);
var aa = endMaxDate.getDate();
endMaxDate.setDate(endMaxDate.getDate()+29);
var today = new Date();
today.setHours(0);
today.setMinutes(0);
today.setSeconds(0);
today.setMilliseconds(0);
//如果30天的范围时间endMaxDate 大于 今天
if(endMaxDate.getTime()>today.getTime()){
// 设置结束时间的最大可取值为今天
min_date = start;
max_date = Gsui.Date.format(new Date(),'Y-m-d H:i:s');
}else{
// 设置结束时间的最大可取值为endMaxDate
min_date = start;
max_date = Gsui.Date.format(new Date(endMaxDate.getTime()),'Y-m-d H:i:s');
}
}
// 如果清空了开始时间,重设结束时间的范围,到今天为止
else{
// 设置结束时间的最大可取值为today
min_date = start;
max_date = Gsui.Date.format(new Date(),'Y-m-d H:i:s');
}
}
});
});
}
}
},{
xtype : 'textfield',
inputId : 'end-date-inputEl',
name : 'filter_end_time',
id : 'filter_end_time',
itemId : 'filter_end_time',
value : Gsui.Date.format(new Date(new Date().getTime()),'Y-m-d H:i:s'),
listeners : {
render : function(p) {
p.getEl().on('click', function() {
WdatePicker({
el : 'end-date-inputEl',
dateFmt : 'yyyy-MM-dd HH:mm:ss',
minDate : min_date,
maxDate : max_date
});
});
}
}
},{
text : '查询',
itemId : 'queryPicBtn'
}
]
参考文章
My97DatePicker两个日期范围不超过30天,第一个小于第二个,都不大于当前日期
WdatePicker-限制日期选择
初始化后默认是选择一个星期的范围:
My97DatePicker选择两个日期范围不超过30天的demo的更多相关文章
- WdatePicker文本框显示当前日期和时间限制<My97DatePicker两个日期范围不超过30天,第一个小于第二个,都不大于当前日期 >
My97DatePicker是很不错的一个日期选择插件,体积只有几十k但是功能非常强大.官网:http://www.my97.net/ 能满足很多苛刻的要求. WdatePicker文本框显示当前日期 ...
- 日期选择时两个日期之间的动态控制--My97datepicker日期选择控件
实现效果:如果先选离店日期,再选入住日期的话,入住日期大于离店日期则离店日期+1天否则离店日期不变,先选入店再选离店离店,离店只能选之后的日期,且两个日期之间最多间隔88天 <div class ...
- my97DatePicker选择年、季度、月、周、日(转)
My97DatePicker是一款非常灵活好用的日期控件.使用非常简单. 下面总结下使用该日历控件选择年.季度.月.周.日的方法. 1.选择年 <input id="d1212&quo ...
- JAVA 比较两个日期相差的天数
在实际的应用中,我们经常会比较两个日期相差的天数,下面我们通过java方法判断两个日期所差的额天数. 具体内容,请看下面的代码: package com.jd.jr.fclient.test; imp ...
- 在Oracle中计算两个日期间隔的天数、月数和年数
一.天数: 在Oracle中,两个日期直接相减,便可以得到天数: select to_date('08/06/2015','mm/dd/yyyy')-to_date('07/01/2015','mm/ ...
- MySQL活动期间订单满600元并且在活动日期之前超过30天没有下过单_20161030
计算 活动期间订单满600元并且在活动日期之前超过30天没有下过单 首先拿到这个需求,首先需要明确活动日期区间 10.29-10.31,其次要取这个时间段内某天订单额最高的那天及订单额,再次需要判断这 ...
- element ui 日期控件范围时间限制记录、以及计算两个日期之间的天数
日期的筛选经常会有最小的日期选择,例如:当前日期 :clearable="false" :picker-options="pickerOptions0" val ...
- Java技巧——比较两个日期相差的天数
Java技巧——比较两个日期相差的天数 摘要:本文主要记录了在Java里面如何判断两个日期相差的天数. 判断两个Date类型的日期之间的天数 通过计算毫秒数判断: public static void ...
- JAVA中计算两个日期时间的差值竟然也有这么多门道
上半年春招的时候,作为面试官,对于面试表现的不错的同学会要求其写一小段代码看看.题目很简单: 给定一个日期,然后计算下距离今天相差的天数. 本以为这么个问题就是用来活跃面试氛围的,但是结果却让人大跌眼 ...
随机推荐
- ASP.NET没有魔法——ASP.NET MVC 模型绑定
在My Blog中已经有了文章管理功能,可以发布和修改文章,但是对于文章内容来说,这里缺少最重要的排版功能,如果没有排版的博客很大程度上是无法阅读的,由于文章是通过浏览器查看的,所以文章的排版其实与网 ...
- iOS 的ipa 包重新签名
https://www.evernote.com/l/As7sxCnA85JCs7bn5Tg5St003gXYYslAk3k
- bash中声明变量方法
bash提供了declare命令来声明变量,该命令的基本语法如下: declare attribute variable 其中,attribute表示变量的属性,常用的属性有如下所述. ...
- 2017-06-29(cat tac more less head tail)
cat 查看文件内容 cat -A 相当于-vET的整合参数,可列出一些特殊的字符,而不是空白而已 -b 列出行号,空白行不标号 -E 将结尾的断行字符 $ 显示出来 -n 列出行号,空 ...
- linux根据端口号查询来源程序
1.根据端口号查询进程 netstat -tunlp|grep port 2.根据进程查询来源程序 ps aux | grep pid 上图看出所属进程为2281 上图看出占用8083端口的程序为n ...
- springcloud(十二):使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪
随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位 ...
- 企业级分布式存储应用与实战FastDFS实现
FASTDFS是什么 FastDFS是由国人余庆所开发,其项目地址:https://github.com/happyfish100 FastDFS是一个轻量级的开源分布式文件系统,主要解决了大容量的文 ...
- SVN中服务器地址变更
SVN中服务器地址变更后不需要重新导项目,只要修改下SVN的服务器地址,更新一下即可.有两种方法: 方法一:通过MyEclipse中SVN插件 1.选择window→show view→other→S ...
- 面向对象之原型——challenge
面向对象之原型 object-oriented面向对象的设计,不同于其他语言,js中的面向对象没有类的概念,因此,其对象也有些特殊. 所谓对象就是无序属性的集合,其属性可以包含基本值.对象.函数.也就 ...
- WMS—启动过程
基于Android 6.0源码, 分析WMS的启动过程. 一. 概述 Surface:代表画布 WMS: 添加window的过程主要功能是添加Surface,管理所有的Surface布局,以及Z轴排序 ...