This version has been rewritten and breaks compatibility with the previous API.
server-date makes the server's clock available to the client's web browser in JavaScript.
You can use it when you want to display the current time but don't trust the browser's clock to be accurate or to synchronize events for different users of your web site by syncing them all to the server's clock.
serverDate.js
, gets the time
from the server on which the library is hosted by reading the
Date HTTP response
header. You don't need to make any changes on the server if you use this version
but its precision is limited to seconds because that's what's available in the
header.
import { getServerDate } from "./serverDate.js";
const { date, offset, uncertainty } = await getServerDate();
console.log(`The server's date is ${date} +/- ${uncertainty} milliseconds.`);
// some time in the future
const serverDate = new Date(Date.now() + offset);
See example.html
for a complete example.
- Cristian, Flaviu (1989), "Probabilistic clock synchronization", Distributed Computing (Springer) 3 (3): 146–158, DOI:10.1007/BF01784024
- MikeWyatt's answer and Willem Mulder's comment in Sync JS time between multiple devices
- Rob W's answer to How to synchronise a client webpage timer with the server
Copyright 2012 David Braun