12345678910111213141516171819202122232425262728 |
- let initLocalTime = null;
- let initServerTime = null;
- function getStorgeTime() {
- const st = localStorage.getItem("st");
- const unvalidVals = ["Infinity", "NaN", "null", "undefined"];
- if (unvalidVals.includes(st + "")) {
- return [Date.now(), Date.now()];
- } else {
- const [s, t] = st.split("_");
- return [s * 1, t * 1];
- }
- }
- const [serverTime, localTime] = getStorgeTime();
- initSyncTime(serverTime, localTime);
- function initSyncTime(serverTime, localTime = Date.now()) {
- initLocalTime = localTime;
- initServerTime = serverTime;
- localStorage.setItem("st", `${initServerTime}_${initLocalTime}`);
- }
- function fetchTime() {
- return Date.now() + initServerTime - initLocalTime;
- }
- export { initSyncTime, fetchTime };
|