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 celowi dostarczania informacji o czasie systemu w formacie UTC.Został mocno zablokowany z biblioteki standardowej Lua os i nie pozwala na wykonywanie żadnych operacji zmieniających system.

Podsumowanie

Funkcje

  • Zwraca upłynięty czas w sekundach od chwili losowego punktu odniesienia z precyzją sub-mikrosekundową.

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

    Formatuje podany ciąg z informacjami o czasie/dzień w oparciu o podany czas.

  • Zwraca liczbę sekund od jednego do drugiego razu.

  • time(time : table):number

    Zwraca, ile sekund minęło od czasu epoki Unix (1 stycznia 1970, 00:00:00) w obecnym czasie UTC.

Funkcje

clock

Zwraca upłynięty czas w sekundach od chwili losowego punktu odniesienia z precyzją sub-mikrosekundową.Funkcja ta jest przydatna do porównywania czasów między dwoma wydarzeniami, które wystąpiły na tym samym komputerze, i jest najlepszą opcją do benchmarkingu.

W przeciwieństwie do funkcji takich jak os.time() lub DateTime.now(), zmiany w systemowym zegarze (takie jak przez użytkownika lub NTP) nie powodują skoku czasu do przodu lub do tyłu.


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

Zwroty

Formatuje podane formatString z informacjami o czasie/dzień zgodnie z podanym czasem, lub jeśli nie zostaną podane, wartość zwrócona przez os.time().

Funkcja ta powinna być unikana w nowej pracy. Zamiast tego użyj interfejsu API DateTime, który wspiera lokalne formatowanie.

Poniższe specyfikatory (na podstawie funkcji strftime C) są wspierane:


<th>Znaczenie</th>
<th>Przykład <sup>†</sup></th>
</tr>
</thead>
<tbody>
<tr>
<td>%a</td>
<td>Skrócona nazwa dnia roboczego *</td>
<td>Pon</td>
</tr>
<tr>
<td>%A</td>
<td>Pełna nazwa 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>Pełna nazwa miesiąca *</td>
<td>Luty</td>
</tr>
<tr>
<td>%c</td>
<td>Data i godzina *</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, korzystając z zegara 24-godzinowego</td>
<td>14</td>
</tr>
<tr>
<td>%I</td>
<td>Godzina, używając zegara 12-godzinowego</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>Minutę</td>
<td>14</td>
</tr>
<tr>
<td>%p</td>
<td>Albo „AM” lub „PM”</td>
<td>PM</td>
</tr>
<tr>
<td>%S</td>
<td>Po drugie</td>
<td>35</td>
</tr>
<tr>
<td>%U</td>
<td>Numer tygodnia (pierwsza niedziela jako pierwszy dzień tygodnia jeden)</td>
<td>06</td>
</tr>
<tr>
<td>%w</td>
<td>Dzień roboczy</td>
<td>1</td>
</tr>
<tr>
<td>%W</td>
<td>Numer tygodnia (pierwszy poniedziałek jako pierwszy dzień tygodnia jeden)</td>
<td>07</td>
</tr>
<tr>
<td>%x</td>
<td>Data *</td>
<td>02/12/24</td>
</tr>
<tr>
<td>%X</td>
<td>Czas *</td>
<td>14:14:35</td>
</tr>
<tr>
<td>%y</td>
<td>Dwucyfrowy 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 minuta = 1, 1 godzina = 100)</td>
<td>-0800</td>
</tr>
<tr>
<td>%Z</td>
<td>Nazwa strefy czasowej lub skrót *</td>
<td>PST</td>
</tr>
<tr>
<td>%%</td>
<td>Postać %</td>
<td>%</td>
</tr>
</tbody>
Specjalista

Wartość ta może się różnić w zależności od obecnego lokalizatora.

† Przykład podany jest na 12 lutego 2024 r. (poniedziałek) o 2:14:35 PM (14:14:35), uruchomiony za pomocą lokalnego "en-us" w czasie standardowym Pacyfiku (PST).

Jeśli dostarczone formatString jest dokładnie "*t" (czas lokalny) lub "!*t" (czas UTC), ta funkcja zamiast zwraca słownik zawierający następujące komponenty, które są zwykle dostępne w specyfikatorach powyżej.


<th>Typ</th>
<th>Opis</th>
</tr>
</thead>
<tbody>
<tr>
<td>rok</td>
<td>int</td>
<td>Całkowita, która opisuje obecny rok obecnej ery (np. 2017)</td>
</tr>
<tr>
<td>miesiąc</td>
<td>int</td>
<td>Całkowita liczba od 1 do 12 (od stycznia) opisująca bieżący miesiąc.</td>
</tr>
<tr>
<td>wdzień</td>
<td>int</td>
<td>Całkowita liczba pomiędzy 1 a 7 (od niedzieli) opisująca bieżący dzień tygodnia.</td>
</tr>
<tr>
<td>yday
przełącz na polski</td>
<td>int</td>
<td>Całkowita liczba od 1 do 366 opisująca, ile dni jesteśmy w roku. Może być 366 dni, jeśli jest to rok przestępny.</td>
</tr>
<tr>
<td>dzień</td>
<td>int</td>
<td>Całkowita liczba pomiędzy 1 a 31 opisująca bieżący dzień miesiąca.</td>
</tr>
<tr>
<td>godzina</td>
<td>int</td>
<td>Całkowita liczba pomiędzy 1 a 24 opisująca bieżącą godzinę dnia.</td>
</tr>
<tr>
<td>minimalny</td>
<td>int</td>
<td>Całkowita liczba pomiędzy 0 a 59 opisująca obecną minutę godziny.</td>
</tr>
<tr>
<td>sek</td>
<td>int</td>
<td>Całkowita liczba pomiędzy 0 a 60 opisująca obecną sekundę godziny.(60 ponieważ funkcja jest opisana, aby wskazać sekundy skoku, ale w praktyce prawdopodobnie nie).</td>
</tr>
<tr>
<td>isdst</td>
<td>bool</td>
<td>Boolean określający, czy obecnie aktywny jest czas oszczędzania światła dziennego.</td>
</tr>
</tbody>
Obszar

Parametry

formatString: string

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

time: number

Wartość czasu do formatowania.

difftime

Zwraca liczbę sekund od t1 do t2.Różnica jest obliczana zakładając, że t1 i t2 są poprawnie zamienione na format czas_t .

Parametry

t2: number
t1: number

Zwroty

time

Zwraca, ile sekund minęło od czasu epoki Unix (1 stycznia 1970, 00:00:00), w obecnym czasie UTC.Jeśli dostarczono tabelę formatowaną podobnie do tej, która została zwrócona przez os.date(), zamiast tego zwróci liczbę sekund od tego czasu.

Zauważ, że czas zwrócony używa lokalnego zegara urządzenie.Większość systemów operacyjnych automatycznie synchronizuje lokalny czas z serwerami czasu online, więc powinno to być w ciągu kilkuset milisekund.Jednak 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 Workspace:GetServerTimeNow() zamiast.

Funkcja ta powinna być unikana w nowej pracy. Zamiast tego użyj interfejsu API DateTime, który wspiera lokalne formatowanie.

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

Parametry

time: table

Tabela słownikowa opisująca konkretną godzinę, podobną do tej zwróconej przez os.date(). Jeśli nie zostanie podana, używa obecnego czasu UTC.

Wartość domyślna: UTC time

Zwroty