Stretch My Time Off - Thuật toán tối ưu hóa ngày nghỉ phép
(stretchmytimeoff.com)- Một công cụ web giúp biến số ngày phép có hạn thành các kỳ nghỉ liên tục dài hơn bằng cách ghép với cuối tuần và ngày lễ, tính toán cách bố trí ngày nghỉ có xét đến khác biệt ngày lễ theo từng khu vực
- Ví dụ mặc định được thiết lập cho điều kiện một người sống ở Alabama, Mỹ có 10 ngày nghỉ phép từ Jan 1st đến hết năm 2026
- Lịch phân biệt ngày lễ, cuối tuần, ngày nghỉ phép người dùng có thể cố định và ngày nghỉ phép được tính toán, cho thấy cách bố trí ngày nghỉ thực tế theo từng ngày
- Kết quả tính toán mở rộng các ngày phép ngắn thành những khoảng nghỉ dài, như kỳ nghỉ 4 ngày từ Jan 1~4 và Jan 17~20, hay kỳ nghỉ 9 ngày từ Nov 7~15 và Nov 21~29
- Người dùng có thể thay đổi khu vực cư trú, số ngày nghỉ phép và thời điểm bắt đầu để xem lịch nghỉ phù hợp với mình
Điều kiện đầu vào và lựa chọn khu vực
- Ở phía trên màn hình, người dùng nhập khu vực cư trú, số ngày nghỉ phép hiện có và thời điểm bắt đầu tính toán
- Lựa chọn mặc định là 🇺🇸 Alabama
- Số ngày nghỉ phép là 10 days off
- Khoảng thời gian là từ Jan 1st đến hết năm 2026
- Lựa chọn khu vực bao gồm nhiều tiểu bang của Mỹ và District of Columbia
- Hiển thị danh sách các tiểu bang Mỹ như Alabama, Alaska, Arizona, California, New York, Texas, Washington
- Cũng có danh sách chọn quốc gia
- Liệt kê nhiều quốc gia và khu vực từ Afghanistan đến Zimbabwe
- Cũng bao gồm South Korea, Japan, United Kingdom, United States of America
Các trạng thái ngày được phân biệt trên lịch
- Lịch được hiển thị theo từng tháng, mỗi ngày có trạng thái đi kèm
- Weekend: cuối tuần
- Tên ngày lễ: New Year's Day, Martin Luther King Jr. Day, Memorial Day, v.v.
- Tap to add fixed day off: ngày người dùng có thể thêm làm ngày nghỉ phép cố định
- Day off (calculated): ngày nghỉ phép được bố trí bằng tính toán
- Trong ví dụ năm 2026, các ngày nghỉ phép được tính toán hiển thị ở những ngày sau
- Jan 2
- Jan 20
- Nov 9, Nov 10, Nov 12, Nov 13
- Nov 23, Nov 24, Nov 25, Nov 27
Kết quả các khoảng nghỉ liên tục theo tháng
- January
- Jan 1 to Jan 4: 4 days
- Jan 17 to Jan 20: 4 days
- February
- Feb 14 to Feb 16: 3 days
- May
- May 23 to May 25: 3 days
- June
- Jun 19 to Jun 21: 3 days
- July
- Jul 3 to Jul 5: 3 days
- September
- Sep 5 to Sep 7: 3 days
- October
- Oct 10 to Oct 12: 3 days
- November
- Nov 7 to Nov 15: 9 days
- Nov 21 to Nov 29: 9 days
- December
- Dec 25 to Dec 27: 3 days
Ví dụ về các ngày lễ được phản ánh
- Tháng January hiển thị New Year's Day và Martin Luther King Jr. Day
- Tháng February hiển thị Washington's Birthday
- Tháng May hiển thị Memorial Day
- Tháng June hiển thị Juneteenth
- Tháng July hiển thị Independence Day và Independence Day (substitute day)
- Tháng September hiển thị Labour Day
- Tháng October hiển thị Columbus Day
- Tháng November hiển thị Veterans Day và Thanksgiving Day
- Tháng December hiển thị Christmas Day
Luồng sử dụng thực tế
- Người dùng có thể thay đổi khu vực cư trú, số ngày nghỉ phép hiện có và thời điểm bắt đầu để kiểm tra kết quả lịch
- Mỗi ngày được hiển thị ở dạng có thể chạm để thêm làm fixed day off
- Kết quả tính toán bố trí ngày nghỉ phép quanh cuối tuần và ngày lễ, rồi tóm tắt bên dưới lịch những khoảng nghỉ liên tục dài nhất có thể
2 bình luận
Ở Hàn Quốc, Chuseok và Tết Nguyên đán đều được tính là 1 ngày.
Ý kiến trên Hacker News
Trước đây, khi bắt đầu làm việc cùng vài người bạn, chúng tôi cũng từng tính toán tương tự để tối đa hóa số ngày nghỉ trên mỗi ngày phép, và việc đó khá thú vị
Dạo này tôi thấy tốt nhất là cứ dùng phép năm khi muốn nghỉ. Khi có dấu hiệu burnout hoặc không thể tập trung làm việc, tạo một cuối tuần dài hiệu quả hơn nhiều so với việc gồng suốt nửa đầu năm chỉ để dùng 4 ngày phép trong tuần có ngày 4 tháng 7 nhằm nghỉ trọn một tuần
Nếu là hệ thống phục vụ lượng người dùng lớn, họ sẽ làm vào giờ ngoài hành chính kỳ lạ, hoặc thường xử lý vào thứ Hai. Trong môi trường của tôi, chúng tôi cố ý biến thứ Sáu thành một ngày nhẹ nhàng để chuyển êm sang cuối tuần, nên nghỉ vào thứ Sáu có hiệu quả đầu tư thấp, còn nghỉ thứ Hai thì tốt. Sau khi mọi người xử lý trực diện các vấn đề của tuần trước, tôi có thể bước vào thứ Ba với những insight và tiến triển của họ. Hơn nữa, dù tôi nghỉ thứ Sáu thì những người có thể đi chơi cùng thường vẫn đi làm, nên với tôi đôi khi nghỉ ngày nào cũng không khác nhau mấy
Đến đúng ngày đó đôi khi lại chẳng để tâm lắm, nhưng tại thời điểm đặt thì hiệu quả nâng tinh thần rất lớn. Vài cuối tuần 3 ngày có thể đem lại tác dụng lớn hơn nhiều so với việc kéo khoảng 5 ngày nghỉ thành 9 ngày. Nhìn lịch mà thấy kỳ nghỉ tiếp theo còn hơn 6 tuần nữa thì thật sự tụt mood
Dù dự báo thời tiết xấu, người ta vẫn nói “có thể tăng tổng số ngày nghỉ thêm 3 ngày!”, hoặc dù điểm đến đang mùa thấp điểm thì lại nói “được thêm một ngày nối cầu!”, nghe hơi ngượng. Nếu không muốn làm việc thì cứ không làm có vẻ dễ hơn
Công cụ trong bài gốc cũng khuyên nên nghỉ 2 tuần từ cuối tháng 3 đến đầu tháng 4 vì có ngày nghỉ thứ Sáu và thứ Hai dịp Phục sinh, nhưng thật lòng tôi tự hỏi ai lại làm vậy. Có lẽ chủ đề này luôn khiến tôi khó chịu vì nó quá gần với lối sống kiểu dân văn phòng, “công việc là địa ngục”, vòng quay hamster, và tư duy 9-to-5
Ngoài ra, văn hóa “phải chốt kế hoạch nghỉ phép năm sau ngay bây giờ để lên kế hoạch nguồn lực, sau này vẫn đổi được” cũng khá u ám. Mới tháng 11 mà đã có cảm giác cả năm sau được lên kế hoạch hết rồi, không còn chút ngẫu hứng hay thú vị nào. Tất nhiên dân HN thì cái gì gọi là hack cũng sẽ làm, nên rất có thể tôi thuộc thiểu số
Tôi thường cố chọn phép năm và chuyến đi du lịch hoàn toàn ngược lại với các ngày mà công cụ này đề xuất
Vì tránh chi phí phát sinh, kẹt xe và đám đông trong các kỳ nghỉ lễ quan trọng hơn việc có thêm vài ngày trông như miễn phí. Không có bữa trưa miễn phí
Chúc mừng. Tuy vậy cách diễn đạt có vẻ như đang đánh lừa tôi và không nhất quán
Công cụ nói “Năm 2024 có 11 ngày lễ. Hãy kéo dài kỳ nghỉ của bạn từ 25 ngày lên 61 ngày”, nhưng 61 ngày là giá trị cộng thêm 27 ngày cuối tuần và ngày lễ nằm sát 25 ngày phép của tôi. 9 ngày bị thiếu là những ngày cuối tuần vốn đã nằm cạnh ngày lễ, nhưng không có phần mở rộng kỳ nghỉ riêng nào được đề xuất cho các ngày đó. Nếu tính cuối tuần cạnh ngày lễ thì công bằng ra cũng nên đưa vào phép tính ban đầu
Công cụ không tính thứ Bảy cạnh một ngày lễ rơi vào Chủ nhật, nhưng +9 nói trên lại là thứ Sáu/thứ Hai cạnh cuối tuần, điều này cũng không nhất quán. Nó không làm giảm tính hữu ích của sản phẩm, nhưng về mặt tâm lý thì lập tức bật chế độ phòng thủ như khi thấy quảng cáo phóng đại, và tạo hiệu ứng ngược với kỳ vọng
0: Thảo luận liên quan đang diễn ra tại đây https://news.ycombinator.com/item?id=42113449
Lý luận là đếm ngày nghỉ, đếm cuối tuần, rồi lại đếm thời gian ở nhà trong cả năm, tức tính đúp những thứ đã trừ trước đó, cuối cùng số ngày phải đến trường bằng 0. Nghe trên đường đến trường thì thật sự bực mình
Trông như khởi đầu của một công cụ tiện lợi, nhưng hiện vẫn chưa hữu ích
Như những người khác đã nói, ngày nghỉ do từng công ty cung cấp rất khác nhau. Vấn đề lớn hơn là khi nhập số ngày phép và năm, hiện tại công cụ có vẻ chỉ đưa ra một kết quả, trong khi thực tế có nhiều lựa chọn hòa nhau xét theo số ngày nghỉ liên tục
Hiện công cụ không cho người dùng chỉnh sửa hoặc thay thế các cách sắp xếp tốt ngang nhau. Khi tôi thử, kết quả rất lệch: dồn phần lớn ngày nghỉ vào giai đoạn từ tháng 11 đến tháng 2, và không dùng ngày nào từ tháng 7 đến tháng 10. Khi đề xuất dùng 4 ngày phép để kéo một ngày lễ thành 9 ngày nghỉ liên tục, không có cách nào để tôi nói rằng mình muốn làm vậy vào Labor Day hơn là Veterans Day. Khi kéo một cuối tuần 3 ngày thành 4 ngày, cũng không thể chỉ định rằng tôi muốn dùng vào Columbus Day hơn là Presidents Day
Rất khó để tùy biến hoàn toàn, và nếu làm vậy thì nó gần với lịch cá nhân hơn. Thay vào đó, có thể sẽ ổn nếu hiển thị thứ hạng một cách minh bạch và cho chọn “một trong 3 phương án hòa nhau”
Trang hay. Một yêu cầu nhỏ là mong dùng
Taiwanthay vìTaiwan, Province of ChinaVới một trang được tạo bằng công cụ hỗ trợ viết code thì khá ấn tượng
Tôi tò mò danh sách quốc gia được lấy từ đâu, hoặc dropdown đang dùng thư viện nào. Truy cập từ Taiwan thì nó hiển thị là
Taiwan, Province of ChinaCó vẻ chủ đề này đã được thảo luận nhiều trong repository đó https://github.com/michaelwittig/node-i18n-iso-countries/iss...
Công cụ hay. Tôi có vài góp ý
Phụ đề “có thể tăng số ngày nghỉ từ 20 lên 42 ngày” khá dễ gây hiểu nhầm. Công cụ này không làm tăng số ngày nghỉ của bạn một cách thần kỳ
Một phần lớn của trang không hữu ích. Ở Hà Lan có 6 tháng liên tiếp không có ngày lễ, nên sẽ tốt hơn nếu chỉ hiển thị những tháng có thể kéo dài kỳ nghỉ
Tôi thật sự thích nó. Ở Sweden, gần như năm nào các tạp chí phổ biến cũng đăng bài vào dịp Giáng sinh về cách đặt lịch nghỉ tối ưu
Vì có khá nhiều ngày nghỉ ngân hàng giữa Giáng sinh và Năm mới, nên có năm chỉ cần đăng ký khoảng 6 ngày là có thể nghỉ gần 3 tuần
Năm nay, nếu nghỉ ngày 23 và 27 tháng 12 thì có thể nghỉ liên tục 9 ngày từ ngày 21 đến 29. Thêm ngày 30 và 31 thì thành 12 ngày liên tục, thêm tiếp ngày 2 và 3 tháng 1 nữa thì voilà, thành 17 ngày nghỉ với 6 ngày phép năm. Tuy nhiên trang được liên kết không tính đúng trường hợp này, vì ngày 24 tháng 12 về mặt nghiêm ngặt không phải ngày lễ, nhưng hầu hết công ty coi nó như ngày lễ
“Lördag och söndag räknas inte som semesterdagar annat än i fall som avses i 9 § tredje stycket. Med söndag jämställs allmän helgdag samt midsommarafton, julafton och nyårsafton.”
Phần lớn công ty không nghỉ tất cả các ngày lễ, nên công cụ này chủ yếu cho kết quả phù hợp với công chức liên bang, những người được nghỉ mọi ngày lễ
Sẽ hữu ích nếu có bảng ngày lễ, cho bật/tắt những ngày áp dụng, rồi để thuật toán tự lấp phần còn lại
edit listĐây là một ý tưởng rất hay, vì đây là kiểu kế hoạch tôi thường làm thủ công để tối đa hóa thời gian nghỉ trùng với ngày nghỉ của bọn trẻ
Sẽ tốt nếu có thể điều chỉnh các ngày lễ. Ví dụ Juneteenth và Veterans Day không phải là ngày nghỉ ở trường và nơi làm việc
Một cải tiến trong tương lai có thể là tích hợp với vé máy bay. Những thời điểm này thường là lúc giá vé máy bay đắt nhất