// Adds dimensions UUID, Author and Topic into GA4
Monday, June 8, 2026
28.9 C
Singapore

Good news! 4 long public holiday weekends in Singapore next year — MOM releases SG PH dates for 2025

SINGAPORE: The Ministry of Manpower (MOM) has released Singapore’s public holiday dates in 2025, with four long, fun weekends to look forward to!

Channel News Asia reported that employees required to work on a public holiday are entitled to an extra day’s salary at the basic pay rate in addition to their gross pay rate for that day, according to MOM.

Employers and employees may mutually agree to swap a public holiday for another working day.

In addition, employers can also grant time-off-in-lieu for working on a public holiday. This is based on a mutually agreed number of hours and applies to workmen earning over S$4,500 per month, non-workmen earning over S$2,600 per month, and all managers and executives.

Public holidays that fall on a Monday:

  • March 31: Hari Raya Puasa
  • May 12: Vesak Day
  • Oct 20: Deepavali

Public holidays that fall on a Friday:

  • April 18: Good Friday

Other public holidays in 2025:

  • Jan 1: New Year’s Day
  • Jan 29 and 30: Chinese New Year
  • May 1: Labour Day
  • June 7: Hari Raya Haji
  • Aug 9: National Day
  • Dec 25: Christmas

Enjoy! /TISG

Featured image by Depositphotos

- Advertisement -

Hot this week

‘If you are hoping for a job, they only increased it by 25%’: Manager shares salary negotiation insight in Malaysia

The story looks at how “competitive salary” in Malaysia’s job market is understood in different ways depending on experience, industry, and company type, with varying expectations among employers a...

‘Okay, here’s the summit, there is no more up’ — Singaporean husband-wife mountain climbers made it to the top of Everest after surviving bottlenecks,...

Separated near the summit, delayed by dangerous conditions, Mark Ng and Ng Li Ying's Everest success was more than just reaching the top

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks