Lua:
Tính toán ngày trong tương lai hoặc quá khứ
Làm thế nào:
Trong Lua, bạn có các hàm os.date
và os.time
giúp việc tính toán ngày và giờ.
-- Thêm ngày vào ngày hiện tại
local daysToAdd = 10
local futureDate = os.time() + (daysToAdd * 24 * 60 * 60) -- ngày * giờ * phút * giây
print("Ngày Tương Lai: " .. os.date("%Y-%m-%d", futureDate))
-- Bớt ngày từ ngày hiện tại
local daysToSubtract = 5
local pastDate = os.time() - (daysToSubtract * 24 * 60 * 60) -- cùng quy đổi như trên
print("Ngày Quá Khứ: " .. os.date("%Y-%m-%d", pastDate))
Kết quả mẫu có thể sẽ là:
Ngày Tương Lai: 2023-05-03
Ngày Quá Khứ: 2023-04-18
Sâu hơn
Các hàm os.date
và os.time
của Lua có nguồn gốc từ thư viện chuẩn C. Điều này có nghĩa là chúng gần gũi với hệ thống — hiệu quả và đáng tin cậy. Chúng không quan tâm đến những thứ phức tạp như múi giờ hay thời gian ánh sáng ban ngày; chúng xử lý theo UTC và giây kể từ thời điểm Unix epoch (1 tháng 1 năm 1970).
Nếu bạn đang tìm kiếm nhiều hơn, có các lựa chọn thay thế cho os.date
và os.time
. Các thư viện như Luadate
cung cấp các thao tác tinh vi hơn, xử lý múi giờ và thời gian ánh sáng ban ngày với nhiều kiểu cách hơn.
Khi thực hiện, hãy chú ý đến giây nhuận, và nhớ rằng việc thêm một tháng không đơn giản như thêm 30 ngày. Các tháng khác nhau có số ngày khác nhau, và tháng Hai có thể ngắn đi hoặc bất ngờ thêm bạn một ngày.
Xem Thêm
Để có trải nghiệm ngày và giờ xa hoa hơn trong Lua, hãy kiểm tra những nguồn lực này:
- LuaRocks
Luadate
: https://luarocks.org/modules/luarocks/luadate - Lua-users wiki về ngày và giờ: http://lua-users.org/wiki/DateTime
- Tài liệu tham khảo thư viện
os
trong manual Lua 5.4: https://www.lua.org/manual/5.4/manual.html#6.9