日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2023/12/18 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网页与服务器时间不一致,js解决客户端与服务器时间不一致的问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

引出

最近在寫一個項目時,要根據(jù)時間進行不同的展示,直接用new Date().getTime()獲取當前時間,結(jié)果就出問題了。有些用戶擅自修改自己的本地時間,導致獲取到的時間并不是當前時間,尷尬。

思路

既然如此,首先想到的就是讓本地時間以服務器的時間為基準,只要讓服務器傳一個時間戳過來就可以了。那如何實現(xiàn)動態(tài)獲取時間呢?畢竟不能每次獲取時間都到服務器去要吧。一個粗糙的思路,只要知道現(xiàn)在與獲取服務器時間過了多久,然后動態(tài)的相加就可以了。那如果記錄時間差呢?

剛開始我想的是,記錄獲取服務器時間時的時間點(gainServerTime),將當前時間點與gainServerTime相減,就可以得到經(jīng)過了多久。但是,如果用戶在進入頁面之后修改時間的話,就會得到錯誤的時間差,并不能解決問題。

然后我想到了定時器,記錄時間秒數(shù)experienceTime,每秒+1,固然會犧牲一定的性能,但問題是我沒想到更好的辦法。

實現(xiàn)

/**

* 獲取當前時間的對象

* @param serverTime

* 服務器時間戳(秒)

*/

function GetNowDate(serverTime){

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

// 記錄經(jīng)歷時間

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(){

// 設置定時器,動態(tài)增加時間

var _this = this;

setInterval(function() {

_this.experienceTime++;

}, 1000);

};

當然,看著就有很多問題,之后遇到再完善吧

WCF客戶端和服務器時間不一致,導致通道建立失敗的問題)

本文轉(zhuǎn)載:http://www.cnblogs.com/bcbr/articles/2288374.html 最近,經(jīng)常有客戶反應,前天還用的好好的系統(tǒng),今天就不能用了. 考慮到系統(tǒng)近來沒有做過改動和 ...

解決Windows和Ubuntu時間不一致的問題

問題原因是使用的時間不一致導致的.win10直接從bios讀出來的時間認為就是實際時間,ubuntu認為加上8個小時 后的才是.win10用的rtc ,ubuntu用的utc 在ubuntu16.04 ...

【jenkins】jenkins服務器與svn服務器時間不一致出現(xiàn)的問題

問題描述: svn提交了一次更新包,到了jenkins提交更新的時候,第一次代碼沒有生效,然后重新提交了一次,第二次才生效. 問題排查: 1.首先第一反應比對了下兩次更新的包文件是否一致,然后發(fā)現(xiàn)大小 ...

【轉(zhuǎn)載】解決Windows和Ubuntu時間不一致的問題

大家在切換操作系統(tǒng)的時候會發(fā)現(xiàn)一個問題, Windows 和Ubuntu的時間會出現(xiàn)不一致的情況.在 Windows 中把時間設置正確了過后,回到在 Ubuntu 后系統(tǒng)的時間又不一樣了,在 Ubun ...

java 項目時間和服務器時間不一致

今天線上項目關于時間的幾個任務都出了問題,查看日志發(fā)現(xiàn)日志的時間不對,用的是log4j,日志輸出的時間都早了很長時間. 1 首先先登上服務器查看了服務器的系統(tǒng)時間 linux下 date命令 時間正確 ...

html+js 在頁面同步服務器時間

將以下的代碼? 放置html頁面中! quot ...

JS實現(xiàn)Ajax---例:獲取服務器時間

Ajax在本質(zhì)上是一個瀏覽器端的技術(shù) XMLHttpRequest XMLHttpRequest對象 XMLHttpRequest對象在IE瀏覽器和非IE瀏覽器中創(chuàng)建的方法不同. 簡而言之:它可以異步 ...

moment.js 默認使用服務器時間

在前端使用Date對象獲取當前時間的時候,該時間是客戶端的時間.但是該時間可以被用戶修改,所以我們一般情況下并不想要這個時間.如果每一次獲取時間的時候都請求一下服務器,那么將會對服務器造成不必要的壓力 ...

JS根據(jù)服務器時間倒計時

原文鏈接:http://caibaojian.com/daojishi-2.html //獲取服務器時間 function getSevertime(){ var xmlHttp = new XMLH ...

隨機推薦

MooseFs-分布式文件系統(tǒng)系列(四)之簡單聊聊MFS的日常維護

回顧 文件或目錄的額外屬性(noower,noattracache和noentrycache),可以通過MFS提供的命令(mfsgeteattr,mfsseteattr,mfsdeleattr等)檢查 ...

Linux和UNIX監(jiān)控

Linux和UNIX上的數(shù)據(jù)庫監(jiān)控工具包括監(jiān)控CPU.內(nèi)存.磁盤.網(wǎng)絡.安全性和用戶的監(jiān)控工具.下面羅列了我們找到的有用工具及其簡單描述. ps ? ? ? ? ? 顯示系統(tǒng)上運行的進程列表 top ...

mac OS X 10.9.1 配置jdk環(huán)境變量

進入命令行 cd ~ touch .bash_profile vi .bash_profile 輸入內(nèi)容jdk變量配置內(nèi)容: export JAVA_HOME=/Library/Java/JavaVi ...

Handlebars 介紹

最新項目用到了Ember.js前端框架,第一次使用這樣的框架,準備國慶節(jié)花2天時間,研究一下它的用法. Ember框架的模板引擎用到了handlebars, 先看國外的一篇介紹文章:An Introd ...

MVC中的路由

authour: chenboyi updatetime: 2015-05-02 16:10:04 friendly link: ? 目錄 1,思維導圖 2,MVC處理機制簡圖(講解路由解析) 3,默 ...

excel 下拉級聯(lián),重新選第一個,清空后一個已賦值,并且改變后一個下拉的內(nèi)容。

在前面的部分,設置下拉級聯(lián),我們已經(jīng)可以百度到很多視頻,我就不再多說,而我搞了一天解決 的,是在倆菜單都有值的情況下,重新選第一個下拉,后面那個值怎么清除,是一個事件調(diào)用.上圖. 其中"$H ...

Linux安裝Discuz

安裝lamp環(huán)境 安裝參考 安裝Discuz 1.進入官網(wǎng) 2.進入Discuz! 程序發(fā)布 3.選擇最新版本 4.進入git地址 5.克隆下載 5. 確認Apache中的DocumentRoot配置 ...

Linux之vi/vim編輯器

1.概述 所有的Unix like系統(tǒng)都會內(nèi)建 vi 文本編輯器,其他的文本編輯器則不一定會存在,但是目前我們使用比較多的是 vim 編輯器. vim具有程序編輯的能力,可以主動地以字體顏色辨別語法的 ...

Java Iterator的一般用法

Iterator(迭代器) 迭代器是一種設計模式,它是一個對象,它可以遍歷并選擇序列中的對象,而開發(fā)人員不需要了解該序列的底層結(jié)構(gòu).迭代器通常被稱為“輕量級”對象,因為創(chuàng)建它的代價小. Java中的I ...

使用jsplumb的一些筆記

歡迎就是需要使用jsplumb跟正在使用jsplumb的一起討論 歡迎私聊 1.關于jsplumb的connection的一些事件 ####connection拖動的事件 instance.bind( ...

總結(jié)

以上是生活随笔為你收集整理的网页与服务器时间不一致,js解决客户端与服务器时间不一致的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。