Lua:
Phân tích ngày từ chuỗi kí tự
Cách thực hiện:
Lua không có parser ngày được tích hợp sẵn, nhưng bạn có thể thực hiện công việc với os.time
và khớp mẫu. Giả sử bạn có một chuỗi ngày date_str
và bạn muốn chuyển nó thành một bảng mà Lua có thể xử lý:
local date_str = "2023-04-05" -- Định dạng ISO 8601
local pattern = "(%d+)-(%d+)-(%d+)"
local year, month, day = date_str:match(pattern)
local date_table = {year = year, month = month, day = day}
print(os.time(date_table)) -- Ví dụ đầu ra: 1679785200
Và đó là ngày của bạn, đã được phân tích cú pháp và sẵn sàng!
Khám Phá Sâu
Lua khá tối giản, vì vậy để phân tích cú pháp ngày, bạn thường tự tạo giải pháp của mình hoặc sử dụng một thư viện. Trong lịch sử, việc xử lý ngày trong Lua chủ yếu là thủ công, liên quan đến việc khớp mẫu chuỗi và các hàm os.date
và os.time
.
Nếu bạn không muốn tự mình tạo ra bánh xe, hãy xem các thư viện như Penlight
hoặc date.lua
. Những thư viện này cung cấp cho bạn nhiều linh hoạt và sức mạnh hơn khi xử lý ngày.
Về việc triển khai, hãy nhớ rằng khớp mẫu của Lua không phải là regex; nó đơn giản hơn và đôi khi điều đó có nghĩa là bạn cần nhiều công sức hơn để phân tích cú pháp các định dạng ngày phức tạp. Luôn kiểm tra kỹ các mẫu của bạn!
Xem Thêm
- Lua 5.4 Reference Manual về
os.time
và khớp mẫu: https://www.lua.org/manual/5.4/ - Tài liệu thư viện Penlight: https://stevedonovan.github.io/Penlight/api/
- Thư viện date.lua trên GitHub cho một giải pháp phân tích cú pháp ngày chuyên dụng: https://github.com/Tieske/date