// @title now
// @description show Unix/POSIX/epoch time
// @include http://*
// @include https://*
// @license CC0 Univ PD https://creativecommons.org/publicdomain/zero/1.0/
// @javascript_url
// via
// http://let.hatelabo.jp/escitus/let/hLHXgqHE58JT
// c.f.
// https://en.wikipedia.org/wiki/Unix_time
// https://en.wikipedia.org/wiki/Epoch_%28reference_date%29#Computing
/*
// ES6
javascript:window.prompt('timestamp', Math.trunc(Date.now() / 1000));
// ES5
javascript:window.prompt('timestamp', Date.now() / 1000 | 0);
// ES3 >=
javascript:window.prompt('timestamp', +new Date / 1000 | 0);
javascript:window.prompt('timestamp', (new Date).getTime() / 1000 | 0);
*/
(function () {
'use strict';
var now = (function () {
// ES6
if (Math.trunc) {
return Math.trunc(Date.now() / 1000);
}
// ES5
if (Date.now) {
return (Date.now() / 1000) | 0;
}
// ES3 >=
if (Date.prototype.getTime) {
return ((new Date).getTime() / 1000) | 0;
}
if (Date.prototype.valueOf) {
return ((new Date).valueOf() / 1000) | 0;
// indirect valueOf call
//return (+new Date / 1000) | 0;
}
})();
window.prompt('timestamp', now);
})();
// truncate idioms by bit op
// +2.1 | 0 === ~~+2.1 // 2
// +2.6 | 0 === ~~+2.6 // 2
// -2.1 | 0 === ~~-2.1 // -2
// -2.6 | 0 === ~~-2.6 // -2