現在日時を取得してクリップボードにコピーするブックマークレットです。
#目的
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