Actions

Translations

Translations:ExpressionScript examples/110/vi

From LimeSurvey Manual

Purpose Tính toán sự khác biệt giữa hai ngày
Loại Mức độ liên quan / Loại câu hỏi phương trình / Xác thực
Ví dụ Câu hỏi một (ngày/giờ, mã: DOB): Ngày sinh của bạn là ngày nào?
Câu hỏi thứ hai (ngày/giờ, mã: datetoday): Hôm nay là thứ mấy?
Câu hỏi thứ ba (bản soạn sẵn): Bạn được XXXX ngày tuổi.
Việc cần làm: Tính toán và hiển thị số ngày giữa ngày cho ở câu hỏi 1 và câu hỏi 2.
Expression {(strtotime(datetoday)-strtotime(DOB))/60/60 /24}
Mô tả strtotime tính số giây giữa ngày 1 tháng 1 năm 1970 và ngày đã cho. Biểu thức trên tính số giây giữa hai ngày đã cho. Thuật ngữ "/60/60/24" chỉ tính số ngày từ số giây.
Thay vì hỏi "datetoday", bạn cũng có thể sử dụng strtotime('now') hoặc đơn giản là time(), trả về trực tiếp số giây từ tháng 1 năm 1970 cho đến nay (tức là thời điểm khảo sát được thực hiện). Do đó, bạn có thể nhanh chóng tính ra tuổi của một người theo năm bằng phương trình {(time() - strtotime(DOB)) / 60 / 60 / 24 / 365.25} Trong bất kỳ trường hợp nào, điều quan trọng là phải nhập ngày ở định dạng phù hợp, nếu không hàm strtotime() sẽ không hoạt động bình thường.
Steps Tạo hai câu hỏi về ngày tháng (cho ngày sinh và ngày hôm nay) và một câu hỏi soạn sẵn.
Trong nội dung câu hỏi của phần chèn câu hỏi soạn sẵn: "Vào {datetoday}, bạn đã được {(strtotime(today)-strtotime(dob))/60/60/24} ngày tuổi."

Xin lưu ý: Hàm strtotime có thể hoạt động với NHIỀU định dạng nhưng không phải tất cả các định dạng ngày. Nếu bạn gặp vấn đề, hãy đặt định dạng ngày của khảo sát thành mm/dd/yyyy hoặc yyyy-mm-dd hoặc dd.mm.yyyy"
Sample File Date_difference.zip