now
by
noromanba
2017-05-19 [2017/05/19 02:59:56]
show Unix/POSIX/epoch time
@@ -12,6 +12,15 @@
// 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';
// @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 です。