LoginSignup
6
3

More than 3 years have passed since last update.

現在日時を取得して、クリップボードにコピーするブックマークレット

Last updated at Posted at 2020-10-05

現在日時を取得してクリップボードにコピーするブックマークレットです。

目的

IMEを設定して「いま」や「きょう」などと入力することで現在の時刻や日付を取得する方法もあるのですが、ブラウザでメモを取るさいに整形されたフォーマットで現在日時を入力したかったのと、WindowsやMacなど環境が変わっても利用できるよう、ブックマークレットにしてみました。

javascript:{
    let copyListener = event => {
        document.removeEventListener("copy", copyListener, true);
        event.preventDefault();
        let clipboardData = event.clipboardData;
        clipboardData.clearData();
        const date = new Date();
        const Y = date.getFullYear();
        const M = ("00" + (date.getMonth()+1)).slice(-2);
        const D = ("00" + date.getDate()).slice(-2);
        const h = ("00" + date.getHours()).slice(-2);
        const m = ("00" + date.getMinutes()).slice(-2);
        const s = ("00" + date.getSeconds()).slice(-2);
        let txtNow = Y + "\/" + M + "\/" + D + " " + h + ":" + m + ":" + s;
        clipboardData.setData("text/plain", txtNow);
        console.log('現在時刻:' + txtNow);
    };
    document.addEventListener("copy", copyListener, true);
    document.execCommand("copy");
}

よく見かけるcreateElementを使うやり方ではなく、直接copyイベントを呼び出して、任意のテキストをクリップボードにコピーしているのが面白いかも。

動作確認環境

Windows 10, Google Chrome バージョン: 85.0.4183.121 64ビット
OSX, Google Chrome バージョン: 85.0.4183.121 64ビット

参考:

Bookmarkletを作ろう(準備編)
javascriptで日付フォーマッタ
Create Bookmarklet (browser bookmark that executes Javsacript) to copy a given text to Clipboard

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3