title: Firebase serverTimeOffset and Firebase.ServerValue.TIMESTAMP differences
body: <h1>Context</h1>
  
  <ul>
  <li><p>I have multiple servers listening to a specific collection (/items). Each of them use NTS for time calibration and the "<code>.info/serverTimeOffset</code>" to measure the expected time difference with Firebase. It is consistently around 20ms.</p></li>
  <li><p>I have many clients pushing items to the collection with the specific field:</p>
  
  <p>{
    ... 
    created: Firebase.database.ServerValue.TIMESTAMP
  }</p></li>
  </ul>
  
  <h1>What is expected:</h1>
  
  <ul>
  <li>When the server receives the item from Firebase and subtracts the <code>item.created</code> with the Firebase expected time (<code>Date.now() + offset</code>), this value should be <strong>positive</strong> and probably around 10ms (time for the item to be sent from Firebase to the server).</li>
  </ul>
  
  <h1>What is happening:</h1>
  
  <ul>
  <li>When the server receives the items, the <code>item.created</code> field is <strong>superior</strong> to the Firebase expected time. Like it was created in the future. Usually the difference is around -5ms</li>
  </ul>
  
  <h1>Question:</h1>
  
  <ul>
  <li><p>What is the Firebase.database.ServerValue.TIMESTAMP set to ? and how is it related to the ".info/serverTimeOffset" ?</p></li>
  <li><p>The 27th September 2016 at 1am UTC, that difference jumped from -5ms to around -5000ms like a kind of re-calibration happened (it lasted until I reset the <code>.info/serverTimeOffset</code>) Did someone experienced something similar?</p></li>
  </ul>