日時からUNIX時間(エポック秒)を算出するダイアログ

日時からUNIX時間(エポック秒)を算出するダイアログ

前にUNIX時間(エポック秒)変換関数を晒してみたが、今回はダイアログで日付と時刻を指定して、それに対応するエポック秒を表示・クリップボードにコピーするGUIを作ってみた。

こんなもん何に使うんじゃーと思うかもしれないが、あれだ、はてなダイアリーにおける投稿時刻の改ざんとかそんなん。はてなダイアリーは予約投稿できないわけだが、せめて投稿時刻の表示だけは指定時刻にしておきたいという乙女心。表示だけ改ざんしても投稿時刻は変わらないから、人を呼びやすくなるとかそういう効果はない。

ググればすぐに出てくるような機能だけども、ホットキーで呼び出せれば楽なので作ってみた。

#+@::
	Gui, Ep:New, +LabelEp, エポック秒算出
	Gui, Ep:Add, DateTime, vDateTime gD2E w200, yyyy/MM/dd HH:mm:ss
	Gui, Ep:Add, Edit, vEpoch ReadOnly w200
	Gui, Ep:Add, Button, gEpCopy, コピーして終了
	GoSub, D2E
	Gui, Show
Return
D2E:
	GuiControlGet, EpNow, , DateTime
	EnvSub, EpNow, 19700101090000, Seconds
	GuiControl, , Epoch, %EpNow%
Return
EpCopy:
	Clipboard := EpNow
EpEscape:
EpClose:
	Gui, Ep:Destroy
Return

ホットキーは適当にWin+Shift+@を当てておいた。適宜変更。

「コピーしないで終了」というボタンはない。コピーしたくなければ閉じるボタンかEscapeキーで終了する。