os

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Thư viện này hiện đang phục vụ mục đích cung cấp thông tin về thời gian hệ thống dưới định dạng UTC.Nó đã bị hộp cát nặng nề từ thư viện Lua tiêu chuẩn os và không cho phép bạn thực hiện bất kỳ hoạt động thay đổi hệ thống nào.

Tóm Tắt

Chức Năng

  • Trả về thời gian trôi qua trong giây kể từ một điểm cơ bản ngẫu nhiên với độ chính xác dưới một phần triệu giây.

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

    Định dạng chuỗi được cho với thông tin ngày/thời gian dựa trên thời gian được cho.

  • Trả về số giây từ một lần này sang lần khác.

  • time(time : table):number

    Trả về bao nhiêu giây đã trôi qua kể từ thời điểm Unix (1 tháng 1 năm 1970, 00:00:00) trong thời gian UTC hiện tại.

Chức Năng

clock

Trả về thời gian trôi qua trong giây kể từ một điểm cơ bản ngẫu nhiên với độ chính xác dưới một phần triệu giây.Chức năng này hữu ích để so sánh thời lượng giữa hai sự kiện xảy ra trên cùng một máy tính, và là lựa chọn tốt nhất để đánh giá.

Không giống như với các chức năng như os.time() hoặc DateTime.now(), điều chỉnh cho đồng hồ hệ thống (như bởi người dùng hoặc NTP) không gây ra thời gian nhảy về phía trước hoặc phía sau.


-- Ghi lại thời gian ban đầu:
local startTime = os.clock()
-- Làm điều gì đó bạn muốn đo hiệu suất của:
local a, b = 0, 1
for _ = 1, 5000000 do
a, b = b, a
end
-- Đo lượng thời gian mất:
local deltaTime = os.clock() - startTime
print("Elapsed time: " .. deltaTime)
--> Elapsed time: 0.044425600033719 (actual number may vary)

Lợi Nhuận

Định dạng dữ liệu được cung cấp formatString với thông tin ngày/thời gian dựa trên thời gian được cung cấp, hoặc nếu không được cung cấp, giá trị được trả bởi os.time() .

Chức năng này nên tránh trong công việc mới. Thay vào đó, hãy sử dụng API DateTime, hỗ trợ định dạng địa phương.

Các đặc tính sau (dựa trên chức năng strftime của C) được hỗ trợ:


<th>Ý nghĩa</th>
<th>Ví dụ <sup>†</sup></th>
</tr>
</thead>
<tbody>
<tr>
<td>%a</td>
<td>Tên ngày làm việc ngắn *</td>
<td>Thứ Hai</td>
</tr>
<tr>
<td>%A</td>
<td>Tên ngày làm việc đầy đủ *</td>
<td>Thứ hai</td>
</tr>
<tr>
<td>%b</td>
<td>Tên tháng ngắn *</td>
<td>Tháng 2</td>
</tr>
<tr>
<td>%B</td>
<td>Tên tháng đầy đủ *</td>
<td>Tháng Hai</td>
</tr>
<tr>
<td>%c</td>
<td>Ngày và thời gian *</td>
<td>Thứ Hai 12 2 14:14:35 2024</td>
</tr>
<tr>
<td>%d</td>
<td>Ngày của tháng</td>
<td>12</td>
</tr>
<tr>
<td>%H</td>
<td>Giờ, sử dụng đồng hồ 24 giờ</td>
<td>14</td>
</tr>
<tr>
<td>%I</td>
<td>Giờ, sử dụng đồng hồ 12 giờ</td>
<td>02</td>
</tr>
<tr>
<td>%j</td>
<td>Ngày trong năm</td>
<td>043</td>
</tr>
<tr>
<td>%m</td>
<td>Tháng</td>
<td>02</td>
</tr>
<tr>
<td>%M</td>
<td>Phút</td>
<td>14</td>
</tr>
<tr>
<td>%p</td>
<td>Hoặc "AM" hoặc "PM"</td>
<td>PM</td>
</tr>
<tr>
<td>%S</td>
<td>Thứ hai</td>
<td>35</td>
</tr>
<tr>
<td>%U</td>
<td>Số tuần (Chủ nhật đầu tiên là ngày đầu tiên của tuần một)</td>
<td>06</td>
</tr>
<tr>
<td>%w</td>
<td>Ngày làm việc</td>
<td>1</td>
</tr>
<tr>
<td>%W</td>
<td>Số tuần (thứ hai đầu tiên là ngày đầu tiên của tuần một)</td>
<td>07</td>
</tr>
<tr>
<td>%x</td>
<td>Ngày *</td>
<td>02/12/24</td>
</tr>
<tr>
<td>%X</td>
<td>Thời gian *</td>
<td>14:14:35</td>
</tr>
<tr>
<td>%y</td>
<td>Năm hai chữ số</td>
<td>24</td>
</tr>
<tr>
<td>%Y</td>
<td>Cả năm</td>
<td>2024</td>
</tr>
<tr>
<td>%z</td>
<td>ISO 8601 bị trừ đi từ UTC trong khu vực giờ (1 phút = 1, 1 giờ = 100)</td>
<td>-0800</td>
</tr>
<tr>
<td>%Z</td>
<td>Tên hoặc tên viết tắt của vùng thời gian *</td>
<td>Thời gian PST</td>
</tr>
<tr>
<td>%%</td>
<td>Nhân tố %</td>
<td>%</td>
</tr>
</tbody>
Người xác định

:* Giá trị này có thể thay đổi tùy thuộc vào vị trí hiện tại.

† Ví dụ được cung cấp là vào ngày 12 tháng 2 năm 2024 (Thứ Hai) lúc 2:14:35 PM (14:14:35), chạy bằng cách sử dụng địa phương "en-us" trong Thời gian chuẩn Thái Bình Dương (PST).

Nếu formatString được cung cấp chính xác "*t" (thời gian địa phương) hoặc "!*t" (thời gian UTC), chức năng này thay vào đó trả về một từ điển chứa các thành phần sau, mà bình thường có sẵn trong các ngôn ngữ đặc trưng ở trên.


<th>Loại</th>
<th>Mô tả</th>
</tr>
</thead>
<tbody>
<tr>
<td>năm</td>
<td>int
ngôn ngữ
english:int</td>
<td>Một số nguyên tố mô tả năm hiện tại của Thời đại hiện tại ( ví dụ 2017)</td>
</tr>
<tr>
<td>tháng</td>
<td>int
ngôn ngữ
english:int</td>
<td>Một số nguyên từ 1 đến 12 (bắt đầu từ tháng 1) mô tả tháng hiện tại.</td>
</tr>
<tr>
<td>ngày</td>
<td>int
ngôn ngữ
english:int</td>
<td>Một số nguyên từ 1 đến 7 (bắt đầu từ Chủ nhật) mô tả ngày trong tuần hiện tại.</td>
</tr>
<tr>
<td>ngày yday</td>
<td>int
ngôn ngữ
english:int</td>
<td>Một số nguyên từ 1 đến 366 mô tả số ngày chúng ta đang vào năm.Có thể có 366 ngày nếu đó là năm nhảy.</td>
</tr>
<tr>
<td>ngày</td>
<td>int
ngôn ngữ
english:int</td>
<td>Một số nguyên từ 1 đến 31 mô tả ngày hiện tại của tháng.</td>
</tr>
<tr>
<td>giờ</td>
<td>int
ngôn ngữ
english:int</td>
<td>Một số nguyên từ 1 đến 24 mô tả giờ hiện tại của ngày.</td>
</tr>
<tr>
<td>phút</td>
<td>int
ngôn ngữ
english:int</td>
<td>Một số nguyên từ 0 đến 59 mô tả phút hiện tại của giờ.</td>
</tr>
<tr>
<td>giây</td>
<td>int
ngôn ngữ
english:int</td>
<td>Một số nguyên từ 0 đến 60 mô tả giây hiện tại của giờ.(60 vì chức năng được mô tả để chỉ ra giây nhảy, nhưng trong thực tế có lẽ nó không).</td>
</tr>
<tr>
<td>là dst</td>
<td>bool</td>
<td>Một boolean mô tả xem liệu thời gian tiết kiệm ánh sáng ban ngày hiện đang hoạt động.</td>
</tr>
</tbody>
Trường

Tham Số

formatString: string

Phải là "*t"``"!*t".

time: number

Giá trị thời gian để định dạng.

Lợi Nhuận

difftime

Trả về số giây từ t1 đến t2 .Sự khác biệt được tính toán cho rằng t1t2 được chuyển đổi chính xác sang định dạng time_t .

Tham Số

t2: number
t1: number

Lợi Nhuận

time

Trả về bao nhiêu giây đã trôi qua kể từ thời điểm Unix (1 tháng 1 năm 1970, 00:00:00), trong thời gian UTC hiện tại.Nếu cung cấp một bảng được định dạng tương tự như được trả về bởi os.date() , nó sẽ trả về số giây kể từ thời điểm đó thay vào đó.

Lưu ý rằng thời gian trả về sử dụng đồng hồ địa phương của thiết bị.Hầu hết các hệ điều hành tự động đồng bộ thời gian địa phương của họ với máy chủ thời gian trực tuyến, vì vậy điều này nên nằm trong vài trăm mili giây.Tuy nhiên, người dùng có thể dễ dàng vô hiệu hóa hành vi đồng bộ và đặt thời gian hệ thống thành bất cứ thứ gì họ muốn; đối với thời gian đồng bộ giữa khách hàng và máy chủ, hãy sử dụng Workspace:GetServerTimeNow() thay vì đó.

Chức năng này nên tránh trong công việc mới. Thay vào đó, hãy sử dụng API DateTime, hỗ trợ định dạng địa phương.

Khi bạn cần chính xác đo thời gian trôi qua giữa hai điểm trong thời gian, như khi kiểm tra hiệu hiệu lực, hãy sử dụng os.clock() thay vào đó.

Tham Số

time: table

Một bảng từ điển mô tả một thời gian cụ thể, tương tự như được trả về bởi os.date() . Nếu không được cung cấp, sử dụng thời gian UTC hiện tại.

Giá Trị Mặc Định: UTC time

Lợi Nhuận