なでしこでタイムスタンプ

なでしこには標準でUNIXタイムスタンプを取り扱う関数がないっす。
結構僕は、UNIXタイムスタンプをあちこちでつかうので、結構困ってて、今までは、Perlのスクリプトを作っておいて、その標準出力をなでしこで取得して…なんて回りくどいことしてました。

1970/1/1からの秒差で計算させてみたこともあるんですが、どういうわけだか正確じゃないんですよね。閏秒とかのせいでしょうか?

なでしこがLuaをサポートしてくれたおかげで、なでしこだけで、UNIXタイムスタンプが正確にあつかえるようになりました。

ってことで、現在のUNIXタイムスタンプと、日付と時間からUNIXタイムスタンプを取得する関数を作っておきました。

●unixtime()
	「nowtime = os.time()」をLUAする。
	LUA値(「nowtime」)で戻る。

●mktime( Y, M, D, h, m, s)
	//nako_get
	『tbl = {}』& 改行 &
	「tbl['year'] = nako_get('Y')」& 改行 &
	「tbl['month'] = nako_get('M')」& 改行 &
	「tbl['day'] = nako_get('D')」& 改行 &
	「tbl['hour'] = nako_get('h')」& 改行 &
	「tbl['min'] = nako_get('m')」& 改行 &
	「tbl['sec'] = nako_get('s')」& 改行 &
	「print(tbl['year'])」& 改行 &
	「nowtime = os.time(tbl)」をLUAする。
	LUA値(nowtime)で戻る

ご自由におつかいくださいませ。

トラックバック

このブログ記事に対するトラックバックURL:

コメント & トラックバック

コメントはまだありません。

Comment feed

コメントする