now
by
noromanba
2017-05-19 [2017/05/19 02:59:56]
show Unix/POSIX/epoch time
@@ -17,7 +17,7 @@
window.prompt('timestamp', Math.trunc(Date.now() / 1000));
// ES5
window.prompt('timestamp', Date.now() / 1000 | 0);
-// ES3<
+// ES3 >=
window.prompt('timestamp', (new Date).getTime() / 1000 | 0);
window.prompt('timestamp', +new Date / 1000 | 0);
*/
@@ -30,17 +30,17 @@
return Math.trunc(Date.now() / 1000);
}
// ES5
- if (Date.now()) {
- return Date.now() / 1000 | 0;
+ if (Date.now) {
+ return (Date.now() / 1000) | 0;
}
- // ES3<
+ // ES3 >=
if (Date.prototype.getTime) {
- return (new Date).getTime() / 1000 | 0;
+ return ((new Date).getTime() / 1000) | 0;
}
if (Date.prototype.valueOf) {
- return (new Date).valueOf() / 1000 | 0;
+ return ((new Date).valueOf() / 1000) | 0;
// indirect valueOf call
- //return +new Date / 1000 | 0;
+ //return (+new Date / 1000) | 0;
}
})();
// @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
window.prompt('timestamp', Math.trunc(Date.now() / 1000));
// ES5
window.prompt('timestamp', Date.now() / 1000 | 0);
// ES3 >=
window.prompt('timestamp', (new Date).getTime() / 1000 | 0);
window.prompt('timestamp', +new Date / 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
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。