Ctrl + ; で現在時刻(ISO 8601 形式)を挿入する ahk スクリプト
習作です。
Ctrl + セミコロン (;)*1 で ISO 8601*2 形式の現在時刻を挿入します。
AutoHotkey 1.0.47.06 で確認。
ソースコード
Shift_JIS で保存すること。
;Ctrl + ; で現在時刻(ISO 8601 形式)を挿入 ;NowTime.ahk ;2009-01-16T00:27:20+09:00 ^;:: ;Ctrl + セミコロン(;) が押された FormatTime, TimeString, R , yyyy'-'MM'-'dd'T'HH':'mm':'ss ;yyyy-MM-ddTHH:mm:ss という形式で現在時刻を取得し、変数 TimeString へ代入 getTimeZone = %A_Now% ;ローカル時刻(組み込み変数 A_Now)を取得し、変数 getTimeZone へ代入 EnvSub, getTimeZone, %A_NowUTC%, Hours ;ローカル時刻から 協定世界時(組み込み変数 A_NowUTC)を引いた値(単位は時)を取得し、変数 getTimeZone へ代入 TimeZoneConverter(x) { if (x==0) { ;引数 x(変数 getTimeZone) の値が 0 である場合 x = +00:00 ;x に +00:00 を代入 return x ;x を返す }else if (x>0) { ;x の値が 0 より大きい場合 x:=Abs(x) ;x の値を絶対値に if (x>9) { ;x の値が二桁の場合 x = +%x%:00 ;x に +x:00 を代入 return x ;x を返す }else{ ;x の値が一桁の場合 x = +0%x%:00 ;x に +0x:00 を代入 return x ;x を返す } }else{ ;x の値が 0 より小さい場合 x:=Abs(x) ;x の値を絶対値に if (x>9) { ;x の値が二桁の場合 x = -%x%:00 ;x に -x:00 を代入 return x ;x を返す }else{ ;x の値が一桁の場合 x = -0%x%:00 ;x に -0x:00 を代入 return x ;x を返す } } } TimeZone := TimeZoneConverter(getTimeZone) ;関数 TimeZoneConverter (引数に変数 getTimeZone)の結果を変数 TimeZone へ代入 clipboard = ;クリップボードを空にする clipboard = %TimeString%%TimeZone% ;変数 TimeString と変数 TimeZone を連結しクリップボードへ挿入 Send, +{INSERT} ;INSERT 実行 return
参考 Web サイト
*1:キーの表記はマイクロソフトで説明に使用されているものを参考にしました。Microsoft - アクセシビリティ - キーボードショートカットキーの一覧