Hiểu ngày giờ tiếng Việt API
Chuyển cách nói ngày giờ tiếng Việt thành ISO: “thứ 2 tuần sau”, “8h tối nay”, “cuối tháng này”, “mùng 5 Tết”, “15/8 âm lịch”, theo giờ Việt Nam.
Bộ phân tích đọc các cách nói ngày giờ người dùng hay gõ trong chat và form, có dấu hoặc không dấu, rồi quy đổi theo thời điểm tham chiếu (ref, mặc định là hiện tại theo giờ Asia/Ho_Chi_Minh): ngày tương đối (hôm nay, ngày mai, ngày kia, hôm qua), khoảng cách (3 ngày nữa, 2 tiếng nữa, cách đây 2 tháng), thứ trong tuần (thứ 2 tuần sau, t6 này, chủ nhật tuần trước, thứ 6 tới), khoảng thời gian (tuần sau, cuối tháng này, đầu năm sau, tháng 8), ngày cụ thể (20/11, ngày 15 tháng 8 năm 2027, mùng 2 tháng 9) và giờ (8h, 8h30, 8 giờ rưỡi, 9 giờ kém 15, 3h chiều, 8h tối).
Ngày âm lịch tính theo lịch âm Việt Nam (UTC+7): 15/8 âm lịch, rằm tháng 7, mùng 5 Tết, 28 Tết, giao thừa, cùng các ngày lễ như Trung thu, Vu Lan, Giỗ Tổ, Noel, Quốc khánh. Kết quả có loại (date, datetime hoặc range kèm ngày bắt đầu, kết thúc), ngày và ngày giờ ISO với múi +07:00, thứ, ngày âm lịch của kết quả và các cụm từ đã nhận ra. Khi không ghi năm, API chọn lần gần nhất sắp tới (đổi bằng prefer=past hoặc nearest).
Dùng được với cả câu (“đặt bàn 7h tối thứ 7 này nhé”); texts xử lý tới 500 chuỗi. Cách nói chưa hiểu được trả found: false thay vì đoán.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
text | query|body | string | có | Cụm từ hoặc câu (tối đa 500 ký tự). | |
ref | query|body | string | không | Thời điểm tham chiếu dạng ISO (2026-11-11 hoặc 2026-11-11T09:30, giờ Việt Nam nếu không ghi múi). Mặc định: hiện tại. | |
prefer | query|body | string | không | future | future, past hoặc nearest khi không ghi năm, tuần. |
texts | body | array | không | Tối đa 500 chuỗi (hàng loạt). |
Ví dụ
curl "https://apibox.io.vn/v1/vn-date-parse?text=th%E1%BB%A9%202%20tu%E1%BA%A7n%20sau%209h%20s%C3%A1ng&ref=2026-11-11T09:30" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/vn-date-parse?text=th%E1%BB%A9%202%20tu%E1%BA%A7n%20sau%209h%20s%C3%A1ng&ref=2026-11-11T09:30', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/vn-date-parse?text=th%E1%BB%A9%202%20tu%E1%BA%A7n%20sau%209h%20s%C3%A1ng&ref=2026-11-11T09:30",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-date-parse?text=th%E1%BB%A9%202%20tu%E1%BA%A7n%20sau%209h%20s%C3%A1ng&ref=2026-11-11T09:30');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"ref": "2026-11-11T09:30:00+07:00",
"timezone": "Asia/Ho_Chi_Minh",
"prefer": "future",
"text": "thứ 2 tuần sau 9h sáng",
"found": true,
"type": "datetime",
"date": "2026-11-16",
"time": "09:00",
"datetime": "2026-11-16T09:00:00+07:00",
"part_of_day": "morning",
"weekday": "Monday",
"weekday_vi": "Thứ Hai",
"calendar": "solar",
"lunar": {
"day": 8,
"month": 10,
"year": 2026,
"leap": false,
"text": "08/10/2026"
},
"holiday": null,
"matched": [
"sáng",
"thứ 2 tuần sau",
"9h"
],
"notes": []
}
Ứng dụng
- Đặt lịch hẹn từ tin nhắn chatbot (spa, phòng khám, nhà hàng)
- Biến ghi chú “gọi lại thứ 6 tuần sau” thành nhắc việc CRM
- Điền trường ngày từ trợ lý giọng nói
- Quy đổi ngày âm lịch cho lễ, giỗ
Hỏi đáp
“Tuần sau” được tính thế nào?
Tuần tính từ thứ Hai đến Chủ nhật. “Thứ 2 tuần sau” là thứ Hai của tuần kế tiếp; “thứ 6 tới” là thứ Sáu gần nhất sau hôm nay.
Năm được chọn ra sao?
Khi không ghi năm, API lấy lần gần nhất kể từ ngày tham chiếu (prefer=future). Dùng prefer=past cho sự việc đã qua hoặc nearest.
Gõ không dấu có hiểu không?
Có: “thu 2 tuan sau”, “toi nay 8h” đều được; các từ dễ nhầm như “tôi” và “tối” được phân biệt theo dấu khi có dấu.
API liên quan
So sánh văn bản
So sánh hai đoạn văn bản theo dòng, từ, ký tự, câu hoặc JSON; nhận danh sách thay đổi, tỉ lệ giống nhau và bản diff dạng unified.
a-bTạo slug
Chuyển tiêu đề thành slug URL gọn gàng: bỏ dấu tiếng Việt (cả chữ đ), tuỳ chọn ký tự phân cách, giữ chữ hoa và giới hạn độ dài.
123Thống kê văn bản
Đếm số từ, ký tự, câu, đoạn và dòng; ước tính thời gian đọc và thời gian nói; liệt kê các từ xuất hiện nhiều nhất trong văn bản.