os

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Ta biblioteka obecnie służy celom dostarczania informacji o czasie systemu w formacie UTC. Została ona mocno zesandboxowana z standardowej biblioteki Lua os i nie pozwala na wykonanie żadnych operacji zmieniających system.

Podsumowanie

Funkcje

  • Wyświetla czas miniony w sekundach od momentu dowolnej podstawy z precyzją sub-mikrosekundową.

  • date(formatString : string,time : number):Dictionary

    Formatuje podany ciąg z informacjami o czasie/datę, w oparciu o podany czas.

  • Wylicza liczbę sekund od jednego czasu do drugiego.

  • time(time : table):number

    Wylicza liczbę sekund minęło od czasu epoki Unix (1 stycznia 1970, 00:00:00).

Funkcje

clock

Zwraca czas miniony w sekundach, ponieważ jest to dowolna podstawowa z precyzją sub-mikrosekundy. Ta funkcja jest użyteczna do porównywania czasu między dwoma wydarzeniami, które mają miejsce na tym samym komputerze, i jest najlepszym wyborem do benchmarkingu.

W przeciwieństwie do funkcji takich jak os.time() lub DateTime.now(), dostosowania do zegara systemu (takie jak przez użytkownika lub NTP ) nie powodują, że czas skaczę w przód lub w tył.


-- Zapisz czas początkowy:
local startTime = os.clock()
-- Zrób coś, co chcesz zmierzyć wydajność:
local a, b = 0, 1
for _ = 1, 5000000 do
a, b = b, a
end
-- Pomierz czas, jaki to zajęło:
local deltaTime = os.clock() - startTime
print("Elapsed time: " .. deltaTime)
--> Elapsed time: 0.044425600033719 (actual number may vary)

Zwroty

格式化指定的 formatString z informacjami o dacie/czasie, lub jeśli nie zostanie to dostarczone, wartość zwrócona przez os.time() .

Tę funkcję należy unikać w nowym work. Zamiast tego użyj API DateTime, która wspiera lokalizowaną formę.

Wybrane następujące parametry (na podstawie funkcji strtotime) są wspierane:


<tbody>
<tr>
<td>%a</td>
<td>Skrócona nazwa dnia roboczego \*</td>
<td>Pon</td>
</tr>
<tr>
<td>%A</td>
<td>Pełne imię dnia roboczego \*</td>
<td>Poniedziałek</td>
</tr>
<tr>
<td>%b</td>
<td>Skrócona nazwa miesiąca \*</td>
<td>Lut</td>
</tr>
<tr>
<td>%B</td>
<td>Imię pełnego miesiąca \*</td>
<td>Luty</td>
</tr>
<tr>
<td>%c</td>
<td>Data i czas \*</td>
<td>Pon 12 lut 14:14:35 2024</td>
</tr>
<tr>
<td>%d</td>
<td>Dzień miesiąca</td>
<td>12</td>
</tr>
<tr>
<td>%H</td>
<td>Godzina, używając 24-godzinnego zegara</td>
<td>14</td>
</tr>
<tr>
<td>%I</td>
<td>Godzina, używając 12-godzinnego zegara</td>
<td>02</td>
</tr>
<tr>
<td>%j</td>
<td>Dzień roku</td>
<td>043</td>
</tr>
<tr>
<td>%m</td>
<td>Miesiąc</td>
<td>02</td>
</tr>
<tr>
<td>%M</td>
<td>Minuta</td>
<td>14</td>
</tr>
<tr>
<td>%p</td>
<td>Albo „AM” lub „PM”</td>
<td>PM</td>
</tr>
<tr>
<td>%S</td>
<td>Drugi</td>
<td>35</td>
</tr>
<tr>
<td>%U</td>
<td>Tydzień number (pierwszy niedziela jako pierwszy dzień tygodnia jednego)</td>
<td>06</td>
</tr>
<tr>
<td>%w</td>
<td>Dzień roboczy</td>
<td>1</td>
</tr>
<tr>
<td>%W</td>
<td>Tydzień number (pierwszy poniedziałek jako pierwszy dzień tygodnia jednego)</td>
<td>07</td>
</tr>
<tr>
<td>%x</td>
<td>Data \*</td>
<td>02/12/2024</td>
</tr>
<tr>
<td>%X</td>
<td>Czas \*</td>
<td>14:14:35</td>
</tr>
<tr>
<td>%y</td>
<td>Dwunastotygodniowy rok</td>
<td>24</td>
</tr>
<tr>
<td>%Y</td>
<td>Cały rok</td>
<td>2024</td>
</tr>
<tr>
<td>%z</td>
<td>Odległość ISO 8601 od UTC w strefie czasowej (1 min = 1, 1 godz = 100)</td>
<td>0800</td>
</tr>
<tr>
<td>%Z</td>
<td>Nazwa lub skrót strefy czasowej \*</td>
<td>PST</td>
</tr>
<tr>
<td>%</td>
<td>Znak %</td>
<td>%</td>
</tr>
</tbody>
OkreślaczZnaczeniePrzykład

Wartość ta może się zmieniać w zależności od lokalizacji.

^ Przykład zasilony jest na dzień 12 lutego 2024 r. (poniedziałek) o 2:14:35 PM (14:14:35), bieżącego lokalnego czasu PST.

Jeśli podany formatString jest dokładnie "*t" (lokalne godziny) lub "!*t" (godziny UTC), ta funkcja zamiast tego zwraca słownik zawierający następujące komponenty, które są zwykle dostępne w powyższych specjalnikach.


<tbody>
<tr>
<td>rok</td>
<td>int</td>
<td>Liczba opisująca bieżący rok obecnej ery (przykład 2017)</td>
</tr>
<tr>
<td>miesiąc</td>
<td>int</td>
<td>Liczby całkowane pomiędzy 1 a 12 (począwszy od stycznia). Te opisują bieżący miesiąc.</td>
</tr>
<tr>
<td>w dniu</td>
<td>int</td>
<td>Liczby całkowite pomiędzy 1 a 7 (począwszy od niedzieli) opisujące bieżący dzień tygodnia.</td>
</tr>
<tr>
<td>y dzień</td>
<td>int</td>
<td>Liczba całkowita pomiędzy 1 i 366 opisuje liczbę dni w roku. Może być 366 dni, jeśli jest to rok skokowy.</td>
</tr>
<tr>
<td>dzień</td>
<td>int</td>
<td>Całkowity liczby pomiędzy 1 i 31 opisujący bieżący dzień miesiąca.</td>
</tr>
<tr>
<td>godzina</td>
<td>int</td>
<td>Całkowity liczby pomiędzy 1 i 24 opisujący bieżącej godziny dnia.</td>
</tr>
<tr>
<td>min</td>
<td>int</td>
<td>Całkowity liczby pomiędzy 0 i 59 opisujący bieżący minutę zegara.</td>
</tr>
<tr>
<td>sek</td>
<td>int</td>
<td>Liczba całkowita pomiędzy 0 i 60 opisująca obecną sekundę godziny.(60 ponieważ funkcja jest opisana, aby wskazać sekundy skoku, ale w praktyce prawdopodobnie nie działa).</td>
</tr>
<tr>
<td>jest</td>
<td>boolean</td>
<td>Boolean określający, czy jest obecnie aktywowany czas oszczędzania dzień.</td>
</tr>
</tbody>
PoleTypOpis

Parametry

formatString: string

Musi być albo "*t" albo "!*t".

time: number

Wartość czasowa do formatowania.

difftime

Powoduje, że liczba sekund z t1 do t2 zostanie przeliczona. Różnica jest obliczana, z założeniem, że t1 i 1> t21> są poprawnie przetłumaczone na format 4>time_t4>.

Parametry

t2: number
t1: number

Zwroty

time

Zwraca liczbę sekund, które minęły od czasu epoki Unix (1 stycznia 1970, 00:00:00), pod warunkiem, że czas UTC jest obecny. Jeśli zostanie podany tabelary zapisane podobnie do tego, które zwrócił os.date(), zwróci liczbę sekund od tego czasu zamiast tego.

Uwaga, że zwracany czas używa lokalnego zegara urządzenie. Większość systemów operacyjnych automatycznie synchronizuje swój lokalny czas z serwerami czasu online, więc to powinno być w ciągu kilku setek milisekund. Jnak użytkownicy mogą łatwo wyłączyć zachowanie synchronizacji i ustawić czas systemu na wszystko, co chcą; dla zsynchronizowanego czasu między klientem a serwerem użyj

Tę funkcję należy unikać w nowym work. Zamiast tego użyj API DateTime, która wspiera lokalizowaną formę.

Gdy musisz dokładnie zmierzyć czas elapsed między dwoma punktami w czasie, jak testowanie wykonywanie, użyj os.clock() zamiast tego.

Parametry

time: table

Tabela słownika opisująca określony czas, podobny do tego zwróconego przez os.date() . Jeśli nie zostanie ona dostarczona, używa bieżącego czasu UTC.

Wartość domyślna: UTC time

Zwroty