now Fork

    @@ -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/18 17:59:56 - 2017-05-18
  2. 2017/05/18 17:57:51 - 2017-05-18
  3. 2017/05/18 17:57:27 - 2017-05-18
  4. 2017/05/17 21:42:51 - 2017-05-17
  5. 2017/05/17 05:38:27 - 2017-05-17
  6. 2017/05/17 05:33:44 - 2017-05-17
  7. 2017/05/17 05:11:43 - 2017-05-17