os

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ไลบรารีนี้ให้บริการเพื่อวัตถุประสงค์ในการให้ข้อมูลเกี่ยวกับเวลาของระบบภายใต้รูปแบบ UTCมันถูกจำกัดอย่างหนักจากห้องทดลอง Lua มาตรฐาน os และไม่อนุญาตให้คุณดำเนินการใดๆ ที่เปลี่ยนแปลงระบบ

สรุป

ฟังก์ชัน

  • คืนเวลาที่ผ่านไปในวินาทีตั้งแต่จุดฐานข้อมูลแบบสุ่มที่มีความแม่นยำเป็นส่วนล้านส่วนล้าน

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

    รูปแบบสตริงที่กำหนดด้วยข้อมูลเวลา/วันที่ตามเวลาที่กำหนด

  • คืนจำนวนวินาทีจากครั้งหนึ่งไปอีกครั้ง

  • time(time : table):number

    คืนจำนวนวินาทีที่ผ่านไปนับตั้งแต่ยุค Unix (1 มกราคม 1970, 00:00:00) ภายใต้เวลา UTC ปัจจุบัน

ฟังก์ชัน

clock

คืนเวลาที่ผ่านไปในวินาทีตั้งแต่จุดฐานข้อมูลแบบสุ่มที่มีความแม่นยำเป็นส่วนล้านส่วนล้านฟังก์ชันนี้มีประโยชน์สำหรับการเปรียบเทียบระยะเวลาระหว่างสองเหตุการณ์ที่เกิดขึ้นบนคอมพิวเตอร์เดียวกันและเป็นตัวเลือกที่ดีที่สุดสำหรับการทดสอบ

ไม่เหมือนกับฟังก์ชันเช่น os.time() หรือ DateTime.now() การปรับเปลี่ยนเวลาของระบบ (เช่นโดยผู้ใช้หรือ NTP) จะไม่ทำให้เวลากระโดดไปข้างหน้าหรือข้างหลัง


-- บันทึกเวลาเริ่มต้น:
local startTime = os.clock()
-- ทำสิ่งที่คุณต้องการวัดประสิทธิภาพของ:
local a, b = 0, 1
for _ = 1, 5000000 do
a, b = b, a
end
-- วัดปริมาณเวลาที่ใช้:
local deltaTime = os.clock() - startTime
print("Elapsed time: " .. deltaTime)
--> Elapsed time: 0.044425600033719 (actual number may vary)

ส่งค่ากลับ

รูปแบบที่ให้ไว้ formatString ด้วยข้อมูลเวลา/วันที่ตามเวลาที่กำหนดหรือหากไม่ได้ระบุ ค่าที่ส่งคืนโดย os.time()

ฟังก์ชันนี้ควรหลีกเลี่ยงในงานใหม่ แทนที่จะใช้ API DateTime ซึ่งสนับสนุนการจัดรูปแบบท้องถิ่น

ตัวระบุต่อไปนี้ (ขึ้นอยู่กับฟังก์ชัน strftime ของ C) ได้รับการสนับสนุน:


<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>ก.พ.</td>
</tr>
<tr>
<td>%B</td>
<td>ชื่อเต็มเดือน*</td>
<td>กุมภาพันธ์</td>
</tr>
<tr>
<td>%c</td>
<td>วันที่และเวลา*</td>
<td>จันทร์ ก.พ. 12 14:14:35 2024</td>
</tr>
<tr>
<td>%d</td>
<td>วันของเดือน</td>
<td>12</td>
</tr>
<tr>
<td>%H</td>
<td>ชั่วโมงโดยใช้นาฬิกา 24 ชั่วโมง</td>
<td>14</td>
</tr>
<tr>
<td>%I</td>
<td>ชั่วโมงโดยใช้นาฬิกา 12 ชั่วโมง</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>ที่สอง</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>ปีสองหลัก</td>
<td>24</td>
</tr>
<tr>
<td>%Y</td>
<td>ทั้งปี</td>
<td>2024</td>
</tr>
<tr>
<td>%z</td>
<td>การเคลื่อนที่ของ ISO 8601 จาก UTC ในเขตเวลา (1 นาที = 1, 1 ชั่วโมง = 100)</td>
<td>-0800</td>
</tr>
<tr>
<td>%Z</td>
<td>ชื่อเขตเวลาหรือตัวย่อ *</td>
<td>พีเอสที</td>
</tr>
<tr>
<td>%%</td>
<td>ตัวละคร %</td>
<td>%</td>
</tr>
</tbody>
ตัวกำหนด

มูลค่านี้อาจแตกต่างกันขึ้นอยู่กับภูมิภาคปัจจุบัน

† ตัวอย่างที่ให้ไว้คือวันที่ 12 กุมภาพันธ์ 2024 (วันจันทร์) เวลา 2:14:35 PM (14:14:35) ดำเนินการโดยใช้ภูมิภาค "en-us" ในเวลามาตรฐานแปซิฟิก (PST)

หาก formatString ที่ให้มาตรงกับ "*t" (เวลาท้องถิ่น) หรือ "!*t" (เวลา UTC) ฟังก์ชันนี้จะแทนที่ด้วยสารบัญที่มีส่วนประกอบต่อไปนี้ซึ่งมักจะมีอยู่ในตัวบ่งบอกด้านบน


<th>ประเภท</th>
<th>คําอธิบาย</th>
</tr>
</thead>
<tbody>
<tr>
<td>ปี</td>
<td>int
สร้างเมื่อวันที่:
เมื่อวันที่สร้าง:</td>
<td>ตัวเลขที่อธิบายปีปัจจุบันของยุคปัจจุบัน (ตัวอย่าง 2017)</td>
</tr>
<tr>
<td>เดือน</td>
<td>int
สร้างเมื่อวันที่:
เมื่อวันที่สร้าง:</td>
<td>ตัวเลขระหว่าง 1 และ 12 (เริ่มจากเดือนมกราคม) ที่อธิบายเดือนปัจจุบัน</td>
</tr>
<tr>
<td>วัน</td>
<td>int
สร้างเมื่อวันที่:
เมื่อวันที่สร้าง:</td>
<td>ตัวเลขระหว่าง 1 และ 7 (เริ่มจากวันอาทิตย์) ที่อธิบายถึงวันในสัปดาห์ปัจจุบัน</td>
</tr>
<tr>
<td>วัน yday</td>
<td>int
สร้างเมื่อวันที่:
เมื่อวันที่สร้าง:</td>
<td>ตัวเลขระหว่าง 1 และ 366 อธิบายจำนวนวันที่เราอยู่ในปี อาจมี 366 วันหากเป็นปีกระโดด</td>
</tr>
<tr>
<td>วัน</td>
<td>int
สร้างเมื่อวันที่:
เมื่อวันที่สร้าง:</td>
<td>ตัวเลขระหว่าง 1 และ 31 ที่อธิบายวันปัจจุบันของเดือน</td>
</tr>
<tr>
<td>ชั่วชม</td>
<td>int
สร้างเมื่อวันที่:
เมื่อวันที่สร้าง:</td>
<td>ตัวเลขระหว่าง 1 และ 24 ที่อธิบายถึงเวลาปัจจุบันของวัน</td>
</tr>
<tr>
<td>นาที</td>
<td>int
สร้างเมื่อวันที่:
เมื่อวันที่สร้าง:</td>
<td>ตัวเลขระหว่าง 0 และ 59 ที่อธิบายนาทีปัจจุบันของชั่วโมง</td>
</tr>
<tr>
<td>วินาที</td>
<td>int
สร้างเมื่อวันที่:
เมื่อวันที่สร้าง:</td>
<td>ตัวเลขระหว่าง 0 และ 60 ที่อธิบายวินาทีปัจจุบันของชั่วโมง.(60 เพราะฟังก์ชันถูกอธิบายเพื่อระบุวินาทีกระโดด แต่ในการปฏิบัติอาจไม่ได้)</td>
</tr>
<tr>
<td>เป็น dst</td>
<td>บูล</td>
<td>บูลีนที่อธิบายถึงว่าเวลาประหยัดแสงวันที่ใช้งานอยู่ในปัจจุบัน</td>
</tr>
</tbody>
ฟิลด์

พารามิเตอร์

formatString: string

ต้องเป็น "*t" หรือ "!*t" เท่านั้น

time: number

มูลค่าเวลาที่จะรูปแบบ

ส่งค่ากลับ

difftime

คืนจำนวนวินาทีจาก t1 ถึง t2ความแตกต่างจะถูกคำนวณโดยคาดว่า t1 และ t2 ถูกโค้งอย่างถูกต้องไปยังรูปแบบ time_t

พารามิเตอร์

t2: number
t1: number

ส่งค่ากลับ

time

คืนจำนวนวินาทีที่ผ่านมาตั้งแต่ยุค Unix (1 มกราคม 1970, 00:00:00) ภายใต้เวลา UTC ปัจจุบันหากให้แบบฟอร์มตารางที่มีรูปแบบคล้ายกับที่ส่งกลับโดย os.date() จะส่งคืนจํานวนวินาทีตั้งแต่เวลานั้นแทน

โปรดทราบว่าเวลาที่ส่งกลับใช้นาฬิกาท้องถิ่นของอุปกรณ์ระบบปฏิบัติการส่วนใหญ่จะซิงโครไลซ์เวลาท้องถิ่นของตนกับเซิร์ฟเวอร์เวลาออนไลน์โดยอัตโนมัติ ดังนั้นควรอยู่ภายในไม่กี่ร้อยมิลลิวินาทีอย่างไรก็ตามผู้ใช้สามารถปิดการใช้งานพฤติกรรมการซิงค์ได้อย่างง่ายดายและตั้งเวลาระบบเป็นสิ่งที่ต้องการ; สำหรับเวลาที่ซิงโครไลซ์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ใช้ Workspace:GetServerTimeNow() แทน

ฟังก์ชันนี้ควรหลีกเลี่ยงในงานใหม่ แทนที่จะใช้ API DateTime ซึ่งสนับสนุนการจัดรูปแบบท้องถิ่น

เมื่อคุณต้องการวัดเวลาที่แน่นอนระหว่างจุดสองจุดในเวลา เช่น การดำเนินการให้ใช้ os.clock() แทน

พารามิเตอร์

time: table

ตารางสารานุกรมที่อธิบายเวลาที่เฉพาะเจาะจง, คล้ายกับที่ส่งกลับโดย os.date() . หากไม่ได้ระบุ, ใช้เวลา UTC ปัจจุบัน

ค่าเริ่มต้น: UTC time

ส่งค่ากลับ