now

    @@ -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 です。

History

  1. 2017/05/19 02:59:56 - 2017-05-19
  2. 2017/05/19 02:57:51 - 2017-05-19
  3. 2017/05/19 02:57:27 - 2017-05-19
  4. 2017/05/18 06:42:51 - 2017-05-18
  5. 2017/05/17 14:38:27 - 2017-05-17
  6. 2017/05/17 14:33:44 - 2017-05-17
  7. 2017/05/17 14:11:43 - 2017-05-17