What is the "double tilde" (~~) operator in JavaScript?
<p>I'm seeing this in some code, and I have no idea what it does:</p>

<pre><code>var jdn = function(y, m, d) {
  var tmp = (m &lt;= 2 ? -1 : 0);
  return ~~((1461 * (y + 4800 + tmp)) / 4) + 
         ~~((367 * (m - 2 - 12 * tmp)) / 12) - 
         ~~((3 * ((y + 4900 + tmp) / 100)) / 4) + 
         d - 2483620;
};
</code></pre>

<p>What's the <code>~~</code> operator do?</p>
