
具体来说有这么几种思路吧:
轮询,就像你说的那样不间断的和服务器通信,比如每秒甚至更短就发起一次请求获取服务器时间,然后利用Ajax的readyState来确定从请求发起到收到回复过去的时间不会太长。
WebSocket,利用WebSocket来实时通信。
服务器当然不会蹦掉……而且如果你要做的是一个倒计时那情况就更简单了,比如说在倒计时结束之前服务器对这些请求都不回复,让请求TimeOut,只有在倒计时结束后才回复给客户端,这样就能节省流量。
而且现在有很多这种免费的时间API服务。这里: >
另外,很重要的一点要提醒你。不论是什么数据,不论是不是从客户端上提取出来的,只要是在客户端上处理的就必须默认这个数据不可靠。不论你怎么从服务器获取时间,你都要认为这个时间很有可能已经被动过了。如果是抽奖这样的任务的话必须全程在服务器上处理。客户端代码关于数据的功能只有两个:向用户显示数据,从用户提取数据。
var date = new Date();
// 上周五,距离今天差 2天加今天的星期数(注,以星期日为第一天)
var preFri = new Date();
preFrisetTime(dategetTime() - 2460601000(dategetDay()+2));
// 上上周六
var ppSta = new Date();
ppStasetTime(dategetTime() - 2460601000(dategetDay()+8));
alert(preFri);
alert(ppSta);
以下代码可以解决的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">
JQUERY好像没有对时间函数进行封装
另外,时间相减 即时间间隔 只有日、时、分、秒等的说法,貌似没有年月的说法,因为这两个都是不定值
给个参考的JS代码吧,如下
function DateDiff(sDate1, sDate2){ //sDate1和sDate2是字符串 yyyy-MM-dd格式
var aDate, oDate1, oDate2, iDays, ihours, iminutes, iseconds;
aDate = sDate1split("-");
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);//转换为MM-dd-yyyy格式
aDate = sDate2split("-");
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
var timeSpan = {};
var TotalMilliseconds = Mathabs(oDate1 - oDate2);//相差的毫秒数
timeSpanDays = parseInt(TotalMilliseconds / 1000 / 60 / 60 /24);
timeSpanTotalHours = parseInt(TotalMilliseconds / 1000 / 60 / 60);
timeSpanHours = timeSpanTotalHours % 24;
timeSpanTotalMinutes = parseInt(TotalMilliseconds / 1000 / 60);
timeSpanMinutes = timeSpanTotalMinutes % 60;
timeSpanTotalSeconds = parseInt(TotalMilliseconds / 1000);
timeSpanSeconds = timeSpanTotalSeconds % 60;
timeSpanTotalMilliseconds = TotalMilliseconds;
timeSpanMilliseconds = TotalMilliseconds % 1000;
return timeSpan;
}
方法一:
var temper="2009-6-28 15:23"
var dt = new Date(temperreplace(/-/,"/"))
alert(dt)
方法二:
function ConvertDateFromString(dateString) {
if (dateString) {
var arr1 = dateStringsplit(" ");
var sdate = arr1[0]split('-');
var date = new Date(sdate[0], sdate[1], sdate[2]);
return date;
}
}
获得一个月中的总天数:
function GetDayInMonth(day) {
var today = day;
var year = todaygetFullYear();
if (year < 2000) year += 1900; // Y2K fix
var month = todaygetMonth();
var monarr = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
monarr[1] = 29;
return monarr[month];
}
以上就是关于jQuery怎么获取服务器时间全部的内容,包括:jQuery怎么获取服务器时间、我用jquery可以获取当前系统的时间,别展示出来,我现在想获取(上上周六)的时间,和(上周五)、如何用JQuery获取两个时间之差等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)