Xử lý chuỗiSo khớp mẫu
Mô tả
Tại trung tâm dữ liệu của cổng thanh toán VNPay, mỗi giao dịch đều được đóng dấu thời gian truy cập dưới dạng một chuỗi số liên tục. Đội giám sát an ninh yêu cầu một hệ thống lọc tự động để rà soát các bản tin nhật ký bất thường, đảm bảo mốc thời gian được ghi nhận luôn tuân thủ chuẩn quốc tế: năm-tháng-ngày-giờ-phút-giây.
Nhiệm vụ của bạn là viết một trình kiểm tra định dạng. Cho một chuỗi ký tự, hãy xác định xem nó có phải là một mốc thời gian hợp lệ không. Chuỗi được xét đạt chuẩn khi và chỉ khi:
- Có độ dài đúng 14 ký tự.
- Chỉ bao gồm các chữ số thập phân.
- Nằm trong khoảng thời gian từ
20000101000000(00:00:00 ngày 01/01/2000) đến29991231235959(23:59:59 ngày 31/12/2999). - Giá trị của ngày, tháng, giờ, phút, giây phản ánh một thời điểm có thật trong lịch (ví dụ: không có ngày 32, không có tháng 13, không có phút 60).
Lưu ý: Năm nhuận là năm chia hết cho 400, hoặc chia hết cho 4 nhưng không chia hết cho 100. Năm nhuận có 29 ngày trong tháng 2.
Đầu vào
- Một chuỗi
sduy nhất.
Đầu ra
- Trả về
truenếu chuỗi là một mốc thời gian hợp lệ theo mọi tiêu chí trên, ngược lại trả vềfalse.
Ràng buộc
1 ≤ độ dài s ≤ 20- Chuỗi
scó thể chứa bất kỳ ký tự nào có mã ASCII từ 33 đến 126.
Ví dụ
Ví dụ 1:
- Đầu vào:
"20240315083045" - Đầu ra:
true - Giải thích: Chuỗi có 14 chữ số. Năm 2024, tháng 03, ngày 15. Giờ 08, phút 30, giây 45. Đây là một thời điểm hoàn toàn hợp lệ (08:30:45 sáng ngày 15 tháng 3 năm 2024).
Ví dụ 2:
- Đầu vào:
"20240229123000" - Đầu ra:
true - Giải thích: Năm 2024 chia hết cho 4 và không chia hết cho 100 nên là năm nhuận. Do đó, tháng 2 có 29 ngày. Mốc thời gian 12:30:00 ngày 29/02/2024 hợp lệ.
Ví dụ 3:
- Đầu vào:
"20230229123000" - Đầu ra:
false - Giải thích: Năm 2023 không phải năm nhuận, vì vậy tháng 2 chỉ có 28 ngày. Ngày 29 không tồn tại, chuỗi bị loại bỏ.