`

通过Jquery和yclass获取服务器时间

阅读更多

Jquery:

var date = new Date($.ajax({async: false}).getResponseHeader("Date"));
var time = new Date($.ajax({async: false}).getResponseHeader("Date"));

这样获取的是  GMT+0800 (中国标准时间)。

而这样获得时间 $.ajax({async: false}).getResponseHeader("Date")  是GMT 时间比中国标准时间提前了8个小时。

 

new Date("2014-04-02")             Wed Apr 02 2014 08:00:00 GMT+0800 (中国标准时间) 

new Date("2014-04-02 00:00:00")        Wed Apr 02 2014 00:00:00 GMT+0800 (中国标准时间)

 

new Date("2014-4-2")       Wed Apr 02 2014 00:00:00 GMT+0800 (中国标准时间)

new Date("2014-4-2 00:00:00")    Wed Apr 02 2014 00:00:00 GMT+0800 (中国标准时间)

可以看到 月 和 日 前 加 0 和不加 0 的区别,加 0 的new Date() 时间推后了 8 小时。加上具体的时分秒后就可以了。

 

new Date(Date.parse("2014-04-02"))       Wed Apr 02 2014 08:00:00 GMT+0800 (中国标准时间)

new Date(Date.parse("2014-04-02 00:00:00"))      Wed Apr 02 2014 00:00:00 GMT+0800 (中国标准时间)

 

new Date(Date.parse("2014-4-2"))         Wed Apr 02 2014 00:00:00 GMT+0800 (中国标准时间)

new Date(Date.parse("2014-4-2 00:00:00"))        Wed Apr 02 2014 00:00:00 GMT+0800 (中国标准时间)

parse() 和 直接new Date() 一样,可以看到 月 和 日 前 加 0 和不加 0 的区别,加 0 的parse()时间推后了 8 小时。加上具体的时分秒后就可以了。

注意:Firefox 中parse() 方法中的月和日 必须加上 0 ,否则结果为NaN。

 

new Date("2014,04,01")                Tue Apr 01 2014 00:00:00 GMT+0800 (中国标准时间)
new Date("2014","04","01")            Thu May 01 2014 00:00:00 GMT+0800 (中国标准时间)

以上两种所有浏览器都支持的日期格式

new Date("2014-04-02 00:00:00")   firefox 不支持

new Date("2014-04-02")    Firefox 支持

 

new Date("2014,04,01,00,00,00")     Invalid Date

new Date("2014","04","01","00","00","00")    Thu May 01 2014 00:00:00 GMT+0800 (中国标准时间)

 Date.parse("2014,04,01") 和 Date.parse("2014,04,01,00,00,00")  ie 不支持

 Date.parse("2014","04","01")  生成的日期是 2014年1月1日,通过 Date.parse(new Date("2014","04","01"))生成的日期是正确的。 

 

 

 

yclass:

Y.ajax({
  url : "/user/null.go",
  end : function(data, i) {
   var servernow = Y.getDate(data.date);
   var date = new Date(servernow);

 

    Class.C('current_date', date);    //相当于把时间设置到 current_date  变量里
     ......
  }
 });

 

后面这样可以取到,这样就解决了延迟问题:

var date = new Date(Class.C('current_date')); 

 

 

这样这个Ajax的执行一般有延迟在其它的执行之后,可以把它放在setTimeout函数中,如下:

setTimeout(function(){
     Y.ajax({
             url : "/user/null.go",
             end : function(data, i) {
             var servernow = Y.getDate(data.date);
             var date = new Date(servernow);
  }
 });

 },1000);

 

这样其它地方用到这个时间时就可以正确的初始化使用了。

 

另一篇博客介绍如何通过原生js使用Ajax获取服务器的时间:

http://lfl2011.iteye.com/blog/1701225

 

 

 

 

0
0
分享到:
评论

相关推荐

    Jquery progressbar通过Ajax请求获取后台进度演示

    1. **发送请求**:使用jQuery的`.ajax()`方法向服务器发送异步请求,获取任务的进度信息。 ```javascript function fetchProgress() { $.ajax({ url: 'progress.action', // Struts2的Action,用于返回进度信息 ...

    jQuery翻牌倒计时效果demo

    Date对象允许我们获取当前时间并计算两个日期之间的差值,这正是倒计时所需要的。我们可以先定义一个结束日期,然后用当前日期与其进行比较,计算出剩余的毫秒数。 接下来,我们需要将这些毫秒数转换为天、小时、...

    jquery html5 api

    通过调用`navigator.geolocation.getCurrentPosition()`,开发者可以获取到用户当前的经纬度,进而实现基于位置的服务,如地图导航或本地化搜索。 jQuery与HTML5 API的结合使用可以产生强大的效果。例如,我们可以...

    jquery 日期控件 datepicker

    `Datepicker` 还提供了一些有用的方法,如 `getDate()` 获取当前选中的日期,`setDate(date)` 设置日期,以及 `destroy()` 移除日期选择器等。 ### 7. 国际化支持 为了适应不同地区的日期格式和语言,`Datepicker`...

    jquery 弹出模式窗口

    jQuery插件提供了一种便捷的方式来实现这种弹出模式窗口,使得用户体验更加流畅,且不离开当前页面。本篇文章将深入探讨jQuery中的弹出模式窗口,特别是名为jQuery-Impromptu的插件。 ### 1. jQuery基础知识 ...

    Jquery的Cropper头像剪切

    2. **裁剪后处理**:通过`getCroppedCanvas`获取Canvas对象后,可以进一步处理,如转换为Base64编码或Blob对象,以便于上传服务器。 3. **用户体验**:提供预览功能,让用户在裁剪前看到效果。 4. **错误处理**:...

    jquery sortable

    在拖放操作结束后,可以通过`.sortable('toArray')`方法获取当前元素的排序顺序。它会返回一个数组,包含每个排序元素的ID,按照它们在列表中的顺序排列。 ### 5. 存储与恢复排序状态 为了保存用户的排序设置,...

    jquery鼠标图片动画效果

    我们可以在这个事件的回调函数中获取鼠标的当前位置,如`event.clientX`和`event.clientY`,这些值表示鼠标相对于浏览器窗口左上角的X和Y坐标。 要创建动画效果,jQuery提供了`.animate()`方法。这个方法允许我们...

    Jquery 对话 Jquery 对话框

    确保替换`x`和`y`为当前版本号。 接下来,选择一个元素,将其转化为对话框: ```javascript $(document).ready(function() { $("#dialog").dialog(); }); ``` 这里的`#dialog`是HTML中需要转化为对话框的元素ID。...

    消消乐jQuery小游戏.rar

    5. **Ajax交互**:虽然在这个简单的游戏中可能没有涉及,但jQuery的Ajax功能可以用于实现游戏进度的保存或加载,或者获取服务器上的排行榜数据,增加游戏的互动性。 JavaScript作为基础,负责处理游戏的核心逻辑,...

    jquery经典案例

    - **导航栏固定**:当页面滚动时,导航栏始终保持在顶部,通过`$(window).scroll()`监听滚动事件,`position()`和`offset()`获取元素位置,`addClass()`和`removeClass()`控制CSS类的切换。 - **图片懒加载**:...

    jquery 伸缩图片

    通常,我们通过CDN(内容分发网络)链接来获取最新版本的jQuery,这样可以减少服务器负担并加快页面加载速度。例如,在`<head>`标签内添加以下代码: ```html <script src="https://code.jquery....

    常用的jquery案例

    <li><input type="radio" value="Item-Y" name="item" class="3-5_days" />Item Y <li><input type="radio" value="Item-Z" name="item" class="unknown" />Item Z ``` 这里使用了 `$('#shopping_cart_items ...

    jquery rating拖动设置当前value值大小或拖动控制...

    这些元素通常会有一个特定的类名,比如"class='star'",以便于jQuery识别和操作。 接下来,我们需要引入jQuery库和jQuery Rating插件的JavaScript文件。这可以通过在HTML文件的`<head>`部分添加链接或者直接将文件...

    基于jquery的3d效果实现代码

    - **x** 和 **y**:获取或设置3D对象的X轴和Y轴坐标位置。 - 如果不传入参数,则返回当前位置;如果传入,则更新位置。 - **ow** 和 **oh**:返回原始宽度和高度。 - **w** 和 **h**:获取或设置3D对象的宽度和高度...

    jQuery星级评分代码示例

    5. **存储和提交**:如果需要保存用户的评分,可以将值存储在隐藏的表单字段中,或者通过Ajax发送到服务器进行持久化存储。 在提供的文件列表中,`下载后必读文件.txt`可能包含了关于如何使用这个代码示例的详细...

    jquery的一下锋利的实例

    通过简单的语法,如`$("#id")`和`$(".class")`,你可以轻松地选取DOM元素,极大地提高了代码的可读性和效率。此外,jQuery还支持更复杂的选择器,如`:first`、`:last`、`:even`等,使得元素选取更加灵活。 在jQuery...

    jQuery UI商品图片展示及添加购物车结算代码

    // 获取当前商品信息 var product = { name: $(this).siblings("h3").text(), price: $(this).siblings("p").text(), imgSrc: $(this).siblings("img").attr("src"), }; // 将商品添加到购物车数组 cart....

    jQuery鼠标滚动全屏3D翻转动画切换代码.zip

    例如,我们可以使用$('.class').css({'transform': 'rotateY(90deg)'})来实现元素的3D翻转,其中'rotateY(90deg)'表示沿Y轴翻转90度。 再看“jQuery特效”,这可能是指利用jQuery实现的各种视觉效果,如淡入淡出、...

Global site tag (gtag.js) - Google Analytics