Công Cụ Đếm Số Đêm Đến Giáng Sinh Là Gì?
"Còn mấy đêm nữa là tới Giáng Sinh?" là câu hỏi mà bọn trẻ (và cả không ít người lớn) cứ háo hức nhắc đi nhắc lại mỗi khi mùa lễ hội đến gần. Một "đêm ngủ" đơn giản là một đêm — nghĩa là số đêm bạn còn phải đi ngủ trước khi tỉnh dậy vào buổi sáng Giáng Sinh. Công cụ này đếm trọn số ngày giữa ngày bạn chọn và ngày 25 tháng 12 sắp tới, cho bạn biết chính xác còn bao nhiêu đêm ngủ nữa.
Cách Sử Dụng
Nhập năm, tháng và ngày mà bạn muốn bắt đầu đếm (mặc định là hôm nay). Công cụ xem ngày đó là thời điểm nửa đêm, tìm ngày 25/12 sắp tới cũng vào nửa đêm, rồi tính xem có bao nhiêu ngày trọn vẹn ở giữa. Nếu ngày bạn chọn đã qua mốc 25/12, công cụ sẽ tự động chuyển sang Giáng Sinh của năm sau.
Giải Thích Công Thức
Chúng tôi quy đổi cả hai thời điểm thành dấu thời gian (timestamp) rồi chia hiệu số cho số giây trong một ngày (86.400). Hàm làm tròn xuống (floor) sẽ cắt bỏ phần lẻ để ra một số nguyên, bởi vì một ngày chưa trọn vẫn được tính là cùng một đêm cho đến khi bạn đi ngủ lần kế tiếp:
$$\text{Sleeps} = \left\lfloor \frac{\text{Dec } 25,\ Y - \text{From Date}}{86400 \text{ s}} \right\rfloor \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{From Date} &= (\text{Year},\ \text{Month},\ \text{Day}) \\ Y &= \begin{cases} \text{Year} & \text{if From Date} \le \text{Dec } 25 \\ \text{Year} + 1 & \text{if From Date} > \text{Dec } 25 \end{cases} \end{aligned} \right.$$
Ví Dụ Cụ Thể
Giả sử hôm nay là ngày 1 tháng 12. Từ nửa đêm ngày 1/12 đến nửa đêm ngày 25/12 là đúng 24 ngày. Vậy còn 24 đêm nữa là tới Giáng Sinh. Còn nếu hôm nay đã là ngày 24/12 thì chỉ còn vỏn vẹn 1 đêm — một đêm cuối cùng trước ngày trọng đại.
Câu Hỏi Thường Gặp
"Đêm ngủ" có giống với "ngày" không? Có — mỗi đêm ngủ tương ứng với một lần qua đêm, nên số đêm ngủ bằng đúng số ngày trọn vẹn còn lại.
Đúng vào ngày 25/12 thì sao? Công cụ trả về 0 đêm, vì Giáng Sinh đã đến rồi.
Nếu tôi nhập một ngày sau Giáng Sinh thì sao? Công cụ sẽ tự động đếm ngược đến ngày 25/12 của năm sau.