now Fork

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