now
by
noromanba
2017-05-19 [2017/05/19 02:59:56]
show Unix/POSIX/epoch time
@@ -1,14 +1,55 @@
-// @title
-// @description
+// @title now
+// @description show Unix/POSIX/epoch time
// @include http://*
-// @contributor
-// @license MIT License https://opensource.org/licenses/MIT
+// @include https://*
+// @license CC0 Univ PD https://creativecommons.org/publicdomain/zero/1.0/
// @javascript_url
-// @private Internal Server Error
-(function() {
+// 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
// @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
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。