具体来说有这么几种思路吧:
轮询,就像你说的那样不间断的和服务器通信,比如每秒甚至更短就发起一次请求获取服务器时间,然后利用Ajax的readyState来确定从请求发起到收到回复过去的时间不会太长。
WebSocket,利用WebSocket来实时通信。
服务器当然不会蹦掉……而且如果你要做的是一个倒计时那情况就更简单了,比如说在倒计时结束之前服务器对这些请求都不回复,让请求TimeOut,只有在倒计时结束后才回复给客户端,这样就能节省流量。
而且现在有很多这种免费的时间API服务。这里: >
另外,很重要的一点要提醒你。不论是什么数据,不论是不是从客户端上提取出来的,只要是在客户端上处理的就必须默认这个数据不可靠。不论你怎么从服务器获取时间,你都要认为这个时间很有可能已经被动过了。如果是抽奖这样的任务的话必须全程在服务器上处理。客户端代码关于数据的功能只有两个:向用户显示数据,从用户提取数据。
$extend({
Date: {
timestamp: function( options ) {
options = options || {};
var date = [ optionsyear || '3000', optionsmonth || '01', optionsdate || '01' ],
time = [ optionshour || '0', optionsminute || '0', optionssecond || '0' ],
value = Dateparse( new Date( [datejoin('-'), timejoin(':')]join(' ') ) );
if( !isNaN( value ) ) return value;
return null;
}
}
});
var mydate = new Date();
var y = mydategetFullYear();
var m = mydategetMonth()+1;
var d = mydategetDate();
alert("今天的日期是:"+y+"年"+m+"月"+d+"日"); //这里是d出今天的日期,前四天的日期你相应的用d-n就可以了
月初肯定都是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就是月末日期
以上就是关于jQuery怎么获取服务器时间全部的内容,包括:jQuery怎么获取服务器时间、jquery 如何获取时间戳、如何用jQuery获取今天以及前四天的日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)