Hatena::Groupnadesiko

99円のへたれ学習帳

2008-06-28

UNIX時間を取得する

| 19:32

UNIXを取得したいことがたまにあるのですが、標準ではついていないので自作するしかありません。

システム時刻を取得して時を引いてもいいのですが、どう書くorgでWin32APIのGetLocalTimeを使ってみたので、の標準時刻版のGetSystemTimeを使ってみました。

Nothing found for 404 - エロと風俗情報満載 どう抜く?

!変数宣言が必要
UNIX時間とは整数 →UNIX時間取得
●GetSystemTime({参照渡}UTCTime) =DLL("kernel32.dll","VOID GetSystemTime(LPSYSTEMTIME UTCTime)")
●詳細標準時取得
	SYSTEMTIMEとは文字列
	Iとは整数
	BUFとは配列
	SYSTEMTIMEに16を確保 //WORD(16bit)*8[byte]
	GetSystemTime(SYSTEMTIME)
	Iで0から7まで繰り返す
		BUF[I]=SYSTEMTIMEの(I*2+1)を"WORD"でバイナリ取得
	BUFで戻る
●UNIX時間取得
	Tとは配列=詳細標準時取得
	_=日数差("1970/1/1","{T[0]}/{T[1]}/{T[3]}")*(60*60*24)+秒差("0:0:0","{T[4]}:{T[5]}:{T[6]}")

時間エディタとはエディタ
これについて
	文字サイズは36
	幅は300
時間タイマーとはタイマー
これについて
	値は200
	時満ちた時は
		時間エディタはUNIX時間
	開始

ゲッターを使って「UNIX」として使えるようにしてみました(関数の名前を短くした方が簡単か・・・)

やっぱり「今日」と「」から生成するのが簡単?

ちなみに、システムのUTCとの時以下の様にレジストリから取得できます。(分で入っているので扱いやすいように秒にしています。)

●GetTimeZoneDiff
	Hとは整数="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation"のレジストリ開く
	TZDとは整数=(Hで"ActiveTimeBias"をレジストリ整数読む)*60
	Hのレジストリ閉じる
	TZDで戻る