このライブラリは現在、UTC 形式でシステム時間に関する情報を提供する目的を果たしています。標準の Lua os ライブラリから厳格にサンドボックス化されており、システムを変更する操作を行うことはできません。
概要
関数
秒単位で過去の時間を返し、サブマイクロ秒精度の任意のベースラインから。
指定された時間に基づいて、指定された文字列を日付/時間情報で形式化します。
1回から別の時間までの秒数を返します。
現在の UTC 時間 (1 月 1970 日、00:00:00) の Unix 時代(1 月 1970 日、00:00:00)から何秒経過したかを返します。
関数
clock
秒単位で過去の時間を返し、サブマイクロ秒精度の任意のベースラインから。この機能は、同じコンピュータ上で発生する 2つのイベントの期間を比較するのに便利で、ベンチマークに最適なオプションです。
os.time() または DateTime.now() のような機能とは異なり、システム時計の調整 (ユーザーによるものや NTP など) によって時が前進または後退することはありません。
-- 最初の時間を記録:local startTime = os.clock()-- パフォーマンスを測定したいものを行う:local a, b = 0, 1for _ = 1, 5000000 doa, b = b, aend-- これにかかった時間の量を測定する:local deltaTime = os.clock() - startTimeprint("Elapsed time: " .. deltaTime)--> Elapsed time: 0.044425600033719 (actual number may vary)
戻り値
date
指定された formatString を指定された時間に基づく日時/時間情報で形式化するか、提供されない場合は、os.time() によって返された値。
この機能は新しい作業では避けるべきです。代わりに、ローカライズされた形式をサポートする DateTime APIを使用してください。
次の指定子 (C 機能の strftime に基づく) がサポートされています:
<th>意味</th><th>例 <sup>†</sup></th></tr></thead><tbody><tr><td>%a</td><td>短縮された営業日名*</td><td>月</td></tr><tr><td>%A</td><td>曜日全体の名前*</td><td>月曜日</td></tr><tr><td>%b</td><td>省略された月名*</td><td>2月</td></tr><tr><td>%B</td><td>フル月名*</td><td>2月</td></tr><tr><td>%c</td><td>日付と時間*</td><td>月 Feb 12 14:14:35 2024</td></tr><tr><td>%d</td><td>月の日</td><td>12</td></tr><tr><td>%H</td><td>24時間時計を使用して時間、使用中 24時間時計</td><td>14</td></tr><tr><td>%I</td><td>12時間制の時計を使用して時間、使用中 12:00</td><td>02</td></tr><tr><td>%j</td><td>年の日</td><td>043</td></tr><tr><td>%m</td><td>月</td><td>02</td></tr><tr><td>%M</td><td>分</td><td>14</td></tr><tr><td>%p</td><td>「AM」または「PM」</td><td>PM</td></tr><tr><td>%S</td><td>2番目</td><td>35</td></tr><tr><td>%U</td><td>週番号 (週の最初の日曜日を最初の週の最初の日として)</td><td>06</td></tr><tr><td>%w</td><td>平日</td><td>1</td></tr><tr><td>%W</td><td>週番号 (週の最初の月曜日が最初の週の最初の日として)</td><td>07</td></tr><tr><td>%x</td><td>日付 *</td><td>02/12/24</td></tr><tr><td>%X</td><td>時間*</td><td>14:14:35</td></tr><tr><td>%y</td><td>2桁の年</td><td>24</td></tr><tr><td>%Y</td><td>フル年</td><td>2024</td></tr><tr><td>%z</td><td>時間帯 (1分 = 1、1時間 = 100) で UTC から ISO 8601 オフセット (1分 = 1、1時間 = 100)</td><td>-0800</td></tr><tr><td>%Z</td><td>時間帯名または略称*</td><td>午後 PST</td></tr><tr><td>%%</td><td>% キャラクタ</td><td>%</td></tr></tbody>
スペシファイヤー |
---|
* この値は、現在のローカルによって異なる可能性があります。
† 提供された例は、2024年2月12日 (月) の 2:14:35 (14:14:35)、太平洋標準時 (PST) でローカル「en-us」を使用して実行します。
提供された formatString が正確に "*t" (ローカル時間)または "!*t" (UTC時間)である場合、この関数は代わりに、上記のスペシファイヤーに通常含まれる次のコンポーネントを含む辞書を返します。
<th>種類</th><th>説明</th></tr></thead><tbody><tr><td>年</td><td>整数</td><td>現在の年を説明する整数 (例: 2017)</td></tr><tr><td>月</td><td>整数</td><td>1から12の間の整数(1月から開始)で、現在の月を説明します。</td></tr><tr><td>w日</td><td>整数</td><td>日曜日から始まる 1 から 7 の整数 (現在の週の日を説明する)。</td></tr><tr><td>y日</td><td>整数</td><td>1から 366 の間の整数は、年に入っている日数を説明します。跳躍年である場合は、366日があり得ます。</td></tr><tr><td>日</td><td>整数</td><td>月の現在の日を説明する 1 から 31 の整数。</td></tr><tr><td>時</td><td>整数</td><td>1から24の間の整数は、現在の日の時間を説明します。</td></tr><tr><td>分</td><td>整数</td><td>0から59の間の整数は、時間の現在の分を説明します。</td></tr><tr><td>秒</td><td>整数</td><td>時間の現在の秒を説明する 0 から 60 の整数。(機能が跳躍秒を示すために説明されているが、実際にはおそらくそうではない)</td></tr><tr><td>isdst</td><td>bool</td><td>日光節約時間が現在アクティブかどうかを説明するブール。</td></tr></tbody>
フィールド |
---|
戻り値
time
現在の UTC 時間の下で、Unix 時代(1970年1月1日 00:00:00)から何秒経過したかを返します。表が os.date() によって返されたものと同様に形式化された場合、その時点からの秒数を代わりに返します。
返された時間は、デバイスのローカル時間を使用します。ほとんどのオペレーティングシステムは、オンラインの時間サーバーにローカル時間を自動的に同期するので、数百ミリ秒以内であるべきです。しかし、ユーザーは簡単に同期動作を無効にし、システム時間を好きなものに設定できます;クライアントとサーバーの間の同期時間の場合は、Workspace:GetServerTimeNow() の代わりに使用してください。
この機能は新しい作業では避けるべきです。代わりに、ローカライズされた形式をサポートする DateTime APIを使用してください。
テストパフォーマンスのように、時間の経過時間を正確に測定する必要があるときは、os.clock() の代わりに使用してください。