引出

最近在写一个项目时,要根据时间进行不同的展示,直接用new Date().getTime()获取当前时间,结果就出问题了。有些用户擅自修改自己的本地时间,导致获取到的时间并不是当前时间,尴尬。

思路

既然如此,首先想到的就是让本地时间以服务器的时间为基准,只要让服务器传一个时间戳过来就可以了。那如何实现动态获取时间呢?毕竟不能每次获取时间都到服务器去要吧。一个粗糙的思路,只要知道现在与获取服务器时间过了多久,然后动态的相加就可以了。那如果记录时间差呢?

刚开始我想的是,记录获取服务器时间时的时间点(gainServerTime),将当前时间点与gainServerTime相减,就可以得到经过了多久。但是,如果用户在进入页面之后修改时间的话,就会得到错误的时间差,并不能解决问题。

然后我想到了定时器,记录时间秒数experienceTime,每秒+1,固然会牺牲一定的性能,但问题是我没想到更好的办法。

实现

/**

* 获取当前时间的对象

* @param serverTime

* 服务器时间戳(秒)

*/

function GetNowDate(serverTime){

this.serverTime = serverTime || new Date().getTime();

// 记录经历时间

this.experienceTime = 0;

this.init();

}

/**

* 获取当前时间戳,毫秒级

*/

GetNowDate.prototype.getTime = function (){

return this.getDateObject().getTime();

};

/**

* 获取当前时间date对象

*/

GetNowDate.prototype.getDateObject = function(){

return new Date(this.getNowMilliTime());

};

// 获取当前毫秒级时间戳

GetNowDate.prototype.getNowMilliTime = function(){

return (this.serverTime + this.experienceTime) * 1000;

};

// 初始化对象

GetNowDate.prototype.init = function(){

// 设置定时器,动态增加时间

var _this = this;

setInterval(function() {

_this.experienceTime++;

}, 1000);

};

当然,看着就有很多问题,之后遇到再完善吧

WCF客户端和服务器时间不一致,导致通道建立失败的问题)

本文转载:http://www.cnblogs.com/bcbr/articles/2288374.html 最近,经常有客户反应,前天还用的好好的系统,今天就不能用了. 考虑到系统近来没有做过改动和 ...

解决Windows和Ubuntu时间不一致的问题

问题原因是使用的时间不一致导致的.win10直接从bios读出来的时间认为就是实际时间,ubuntu认为加上8个小时 后的才是.win10用的rtc ,ubuntu用的utc 在ubuntu16.04 ...

【jenkins】jenkins服务器与svn服务器时间不一致出现的问题

问题描述: svn提交了一次更新包,到了jenkins提交更新的时候,第一次代码没有生效,然后重新提交了一次,第二次才生效. 问题排查: 1.首先第一反应比对了下两次更新的包文件是否一致,然后发现大小 ...

【转载】解决Windows和Ubuntu时间不一致的问题

大家在切换操作系统的时候会发现一个问题, Windows 和Ubuntu的时间会出现不一致的情况.在 Windows 中把时间设置正确了过后,回到在 Ubuntu 后系统的时间又不一样了,在 Ubun ...

java 项目时间和服务器时间不一致

今天线上项目关于时间的几个任务都出了问题,查看日志发现日志的时间不对,用的是log4j,日志输出的时间都早了很长时间. 1 首先先登上服务器查看了服务器的系统时间 linux下 date命令 时间正确 ...

html+js 在页面同步服务器时间

将以下的代码  放置html页面中! quot ...

JS实现Ajax---例:获取服务器时间

Ajax在本质上是一个浏览器端的技术 XMLHttpRequest XMLHttpRequest对象 XMLHttpRequest对象在IE浏览器和非IE浏览器中创建的方法不同. 简而言之:它可以异步 ...

moment.js 默认使用服务器时间

在前端使用Date对象获取当前时间的时候,该时间是客户端的时间.但是该时间可以被用户修改,所以我们一般情况下并不想要这个时间.如果每一次获取时间的时候都请求一下服务器,那么将会对服务器造成不必要的压力 ...

JS根据服务器时间倒计时

原文链接:http://caibaojian.com/daojishi-2.html //获取服务器时间 function getSevertime(){ var xmlHttp = new XMLH ...

随机推荐

MooseFs-分布式文件系统系列(四)之简单聊聊MFS的日常维护

回顾 文件或目录的额外属性(noower,noattracache和noentrycache),可以通过MFS提供的命令(mfsgeteattr,mfsseteattr,mfsdeleattr等)检查 ...

Linux和UNIX监控

Linux和UNIX上的数据库监控工具包括监控CPU.内存.磁盘.网络.安全性和用户的监控工具.下面罗列了我们找到的有用工具及其简单描述. ps           显示系统上运行的进程列表 top ...

mac OS X 10.9.1 配置jdk环境变量

进入命令行 cd ~ touch .bash_profile vi .bash_profile 输入内容jdk变量配置内容: export JAVA_HOME=/Library/Java/JavaVi ...

Handlebars 介绍

最新项目用到了Ember.js前端框架,第一次使用这样的框架,准备国庆节花2天时间,研究一下它的用法. Ember框架的模板引擎用到了handlebars, 先看国外的一篇介绍文章:An Introd ...

MVC中的路由

authour: chenboyi updatetime: 2015-05-02 16:10:04 friendly link:   目录 1,思维导图 2,MVC处理机制简图(讲解路由解析) 3,默 ...

excel 下拉级联,重新选第一个,清空后一个已赋值,并且改变后一个下拉的内容。

在前面的部分,设置下拉级联,我们已经可以百度到很多视频,我就不再多说,而我搞了一天解决 的,是在俩菜单都有值的情况下,重新选第一个下拉,后面那个值怎么清除,是一个事件调用.上图. 其中"$H ...

Linux安装Discuz

安装lamp环境 安装参考 安装Discuz 1.进入官网 2.进入Discuz! 程序发布 3.选择最新版本 4.进入git地址 5.克隆下载 5. 确认Apache中的DocumentRoot配置 ...

Linux之vi/vim编辑器

1.概述 所有的Unix like系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 vim 编辑器. vim具有程序编辑的能力,可以主动地以字体颜色辨别语法的 ...

Java Iterator的一般用法

Iterator(迭代器) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为“轻量级”对象,因为创建它的代价小. Java中的I ...

使用jsplumb的一些笔记

欢迎就是需要使用jsplumb跟正在使用jsplumb的一起讨论 欢迎私聊 1.关于jsplumb的connection的一些事件 ####connection拖动的事件 instance.bind( ...

网页与服务器时间不一致,js解决客户端与服务器时间不一致的问题相关推荐

  1. js解决客户端与服务器时间不一致的问题

    引出 最近在写一个项目时,要根据时间进行不同的展示,直接用new Date().getTime()获取当前时间,结果就出问题了.有些用户擅自修改自己的本地时间,导致获取到的时间并不是当前时间,尴尬. ...

  2. bs客户端跨服务器管理文件,bs架构客户端和服务器

    bs架构客户端和服务器 内容精选 换一换 SSL(安全套接层,Secure Sockets Layer)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障.云容器实例支持上传SSL证书,在使 ...

  3. 客户端与服务器之间的文件传输,客户端与服务器的文件传输

    客户端与服务器的文件传输 内容精选 换一换 使用FTP上传文件时,写入失败,文件传输失败.该文档适用于Windows系统上的FTP服务.FTP服务端在NAT环境下,客户端需使用被动模式连接服务端.在这 ...

  4. udp服务器php代码例子,Java客户端PHP服务器UDP穿孔示例代码

    我正在一个需要pe2p服务器的项目中工作,但是我还没有找到任何Java客户端php服务器示例代码.我了解udp打孔工作原理的概念,但是我无法在代码中工作. 我尝试过的 TheSocket.java p ...

  5. qt客户端显示服务器发送的图片,qt客户端显示服务器发送的图片

    qt客户端显示服务器发送的图片 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. ...

  6. 用友t3 虚拟服务器设置,用友t3客户端与服务器设置

    用友t3客户端与服务器设置 内容精选 换一换 本章节指导您使用MongoDB客户端和Robo 3T工具,通过公网连接GaussDB(for Mongo)集群实例.操作系统使用场景:弹性云服务器的操作系 ...

  7. html显示日期时间代码,JS全中文显示日期时间代码

    JS全中文显示日期时间代码_网页代码站(www.webdm.cn) function number(index1){ var numberstring="一二三四五六七八九十"; ...

  8. 服务器提取用户信息,获取客户端和服务器信息

    运行效果: 前台设计界面: 前台代码: 无标题页 服务器端环境 服务器名称: 服务器的IIS: 服务器的IP地址: 服务器的域名: 服务器的操作系统: 服务器的端口: 服务器的路径: 域名主机: 服务 ...

  9. 客户端与服务器信息交互的流程,客户端与服务器的交互流程

    客户端与服务器的交互流程 内容精选 换一换 ecFlow是一个工作流管理器,使用户可以在受控环境中运行大量程序,彼此之间以及时间上相互依赖.它提供了对硬件和软件故障的容忍度,并具有良好的重启功能.ec ...

  10. 天正服务器不显示,天正软件客户端修改服务器地址

    天正软件客户端修改服务器地址 内容精选 换一换 如果IP经过NAT/WAF,则只能获取到NAT/WAF转化后的IP地址,无法获取到NAT/WAF前的IP地址.如果客户端为容器,只能获取到容器所在主机的 ...

最新文章

  1. JZOJ 5907. 【NOIP2018模拟10.16】轻功(qinggong)
  2. C#字符串处理(String与StringBuilder)
  3. Node服务一键离线部署
  4. 安装git之后,桌面出现蓝色问号的解决方法
  5. 我是如何用CSS绘制各种形状的
  6. Maven—Eclipse中配置Maven
  7. bash给脚本加进度条_shell脚本进度条。
  8. Linux网络socket网络抓包工具
  9. masm32 安装过程(记录)
  10. java Socket编程
  11. 浙大mooc翁凯 C语言笔记
  12. CAN波特率与负载率
  13. mldonkey 安装详细过程
  14. php面试题目(中等水平)
  15. vue饿了么项目实现评论列表的筛选
  16. oracle rman crosscheck,rman crosscheck作用
  17. POWER BI里如何累计求和(一)
  18. Efficient Image Dehazing with Boundary Constraint and Contextual Regularization
  19. gateway sentinel 熔断 不起作用_熔断器交流与直流有什么区别?错过这篇文章悔之晚矣!【超详细】上海民熔...
  20. 台湾大学神经网络架构设计

热门文章

  1. Windows10蓝屏提示错误操作Wdwifi.sys
  2. 免费的查询IP归属地接口分享
  3. java公告栏按月查询_求java公告栏特效代码
  4. 计算机大类专业分流问题,2019级计算机大类专业分流实施细则
  5. H3C网络设备模拟器显示交换机的MAC地址表
  6. Win10系统无法使用VGAPlayer软件播放asf格式和VGA文件
  7. Micro-personnel部署
  8. 彻底弄明白Gradle相关配置
  9. operator的理解
  10. 笔记本 win10设置wifi热点