JQuery datepicker 实现选取一段时间

JQuery datepicker 实现选取一段时间,第1张

JQuery 的datepicker组件做日要选择一段日期期选择框非常方便

这里有 详细教程

但是如果需要选择一段时间,则需要两个datepicker,一个为起始日期,一个为结束日期

并且,结束日期需要永远晚于或者等于起始日期需要选择一段时间的应用场景很多,比如在OTA中,机票的往返日期,酒店入住和离店时间等

就需要这样的逻辑:

如果用户已经选择了起始日期,而后选择结束日期,那么结束日期的minDate(最早可选时间)不早于起始日期

如果用户已经选择结束日期,再选择起始日期,那么起始日期的maxDate(最晚可选时间)不晚于结束日期

上次在stackoverflow上看到有人这样写:

起始日期选择10月4日时,结束日期早于10月4日的便都无法选择

选择10月10日作为结束日期后,再回来选起始日期,可以看到10月10日之后的日期也都不可以选择了

$("btn")click(function(){

var date = new Date();

consolelog(dategetFullYear()+"年"+dategetMonth()+"月"+dategetDay()+"日"+dategetHours()+"时"+dategetMinutes()+"分"+dategetSeconds()+"秒");//控制台打印出当前的时间

});

月初肯定都是1号这个就不用说啦

主要是判断月末

var d = new Date(); //获取当前时间

var vYear = dgetFullYear() //获取当前年份

var vMon = dgetMonth() + 1 //获取当前月份

var isrun=vYear%400==0||(vYear%4==0&vYear%100!=0); 是否闰年

var ddate=30;月末日期,默认30号

if(vMon==1||vMon==3||vMon==5||vMOn==7||vMon==8||vMon==10||vMon==12){

ddate=31; //大月31号

}

else if(vMon==2){ //二月

ddate=isrun29:28; //闰年29号,平年28号

}

//最后ddate就是月末日期

具体来说有这么几种思路吧:

轮询,就像你说的那样不间断的和服务器通信,比如每秒甚至更短就发起一次请求获取服务器时间,然后利用Ajax的readyState来确定从请求发起到收到回复过去的时间不会太长。

WebSocket,利用WebSocket来实时通信。

服务器当然不会蹦掉……而且如果你要做的是一个倒计时那情况就更简单了,比如说在倒计时结束之前服务器对这些请求都不回复,让请求TimeOut,只有在倒计时结束后才回复给客户端,这样就能节省流量。

而且现在有很多这种免费的时间API服务。这里: >

另外,很重要的一点要提醒你。不论是什么数据,不论是不是从客户端上提取出来的,只要是在客户端上处理的就必须默认这个数据不可靠。不论你怎么从服务器获取时间,你都要认为这个时间很有可能已经被动过了。如果是抽奖这样的任务的话必须全程在服务器上处理。客户端代码关于数据的功能只有两个:向用户显示数据,从用户提取数据。

以上就是关于JQuery datepicker 实现选取一段时间全部的内容,包括:JQuery datepicker 实现选取一段时间、在做日历这个项目中使用jquery方法获取你当前点击的那个时间的年月日时分秒、怎么用jQuery 根据系统时间获得这个月的月初和月末呢。谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9414551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存