2016-12-22 113 views

答えて

0

os.date()os.clock()を使用できます。

フォーラムの規則を読み、重複を投稿しないでください!尋ねる前にあなた自身を検索してみてください。

+0

'os.date'はミリ秒を持っていません、 'os.clock'は現在の時刻を表示しません。答える前にソリューションをテストしてください。 –

0

あなたはos.time()で、現在のUNIX時間を取ることができるし、その後5.1 Luaの(JIT)でos.clock()

からミリ秒を追加し、次の操作を行います。

local date_table = os.date("*t") 
local ms = string.match(tostring(os.clock()), "%d%.(%d+)") 
local hour, minute, second = date_table.hour, date_table.min, date_table.sec 
local year, month, day = date_table.year, date_table.month, date_table.wday 
local result = string.format("%d-%d-%d %d:%d:%d:%s", year, month, day, hour, minute, second, ms) 

print(result) 
-- will print the timestamp in the format you chose with milliseconds 
-- should be all good, comment on this answer if anything's wrong please c: 
+0

もし実際にフォーマットされた答えを探しているのであれば、10より小さい値の前に0を追加するようなきちんとしたことをするのと同じように、変数を手動でチェックできます。 – Cryogenic

+0

私は、実際にこの機能を手動でチェックしたことを追加したいと思います。上記のようなシンプルで整形式のもの(簡単に(else)if文を追加することができます)以外にも、これは完全に機能し、ニーズに合っているはずです。あなたが何か変更をしたいなら、私にメッセージしてください、ありがとう! c: – Cryogenic

+0

実際には、いや、待って、私は台無しになった。あなたが尋ねたようにミリ秒数が0(1/100でなく1/1000)で終わっている場合、 'os.clock()'は時々centisecondsを返します。それはまた、私の '解決策'が平均で0-600ミリ秒の範囲に不正確であることを意味する* CPU時間*です。あなたがこの問題を避けることができるだけの方法ですが、それを使うのはあなたの選択ですが、Cライブラリ/ファイルの何らかの形を作成して読み込んで、独自の問題を引き起こすLuaにカスタムのミリ秒精度の関数を追加する。 – Cryogenic

関連する問題