Skip to content
MiddleEastEcomMiddle East Ecommerce
Localization · Dates

Hijri vs Gregorian Dates: What to Show on a GCC Store

Use Gregorian dates for everything commercial on a GCC store: orders, invoices, delivery and warranties. Add the Hijri date, from the Umm al-Qura calendar, on Ramadan and Eid pages, and keep a 1–2 day buffer on any promise tied to a moon-sighted date.

MayaBy MayaUpdated 7 min read
Key takeaways
  • Gregorian runs commerce in the Gulf. Orders, invoices, delivery dates and warranties all use it.
  • Show Hijri as a seasonal extra on Ramadan and Eid pages, next to the Gregorian date.
  • Use the Umm al-Qura calendar (islamic-umalqura in code). Tabular calendars can be a day off.
  • Write dates day-first (26/10/2026) with Gulf month names like أكتوبر and Western digits.
  • Ramadan and Eid start on moon sighting, so add a 1–2 day buffer to sale end dates and delivery cut-offs.

Gulf stores run on the Gregorian calendar. Orders, invoices and delivery dates all use it, in Saudi Arabia as much as in the UAE.

The Hijri calendar still matters, though. It decides when Ramadan and Eid start, and Saudi shoppers notice when a brand gets it right.

So here's the rule: Gregorian for commerce, Hijri as a seasonal touch. This page shows where each one goes, how to code it and how to stop the moon from breaking your sale dates.

Which calendar goes where?

Gregorian is the default for every transaction. Saudi Arabia moved government salaries to the Gregorian calendar in 2016 and kept Hijri for religious use.

Hijri earns a place where the season is religious:

WhereCalendarExample
Order and payment datesGregorian26/10/2026
Delivery estimatesGregorianSun 1 Nov
Invoices and receiptsGregorian26/10/2026 14:05
Warranties and return windowsGregorianValid until 26/10/2027
Ramadan and Eid landing pagesBothرمضان 1448 هـ · Feb 2027
Eid delivery cut-offsBothOrder by 4 Mar (25 Ramadan)
Islamic New Year greetingsHijri first1449 هـ
Default to Gregorian. Add Hijri where the season itself is Hijri.

For example, a Ramadan banner might read "رمضان كريم · 1448 هـ" with the Gregorian dates of the offer underneath. The offer still ends on a Gregorian date, because that's what your checkout and reports understand.

Our cultural localization guide covers the wider calendar, from weekends to national days. More Arabic-store guides live in our localization hub.

Umm al-Qura vs tabular Hijri calendars

There's more than one Hijri calendar. Use Umm al-Qura, Saudi Arabia's official calculated calendar. It's what Saudi shoppers see on their phones, in government apps and on ummulqura.org.sa.

The other common option is the tabular (or "civil") calendar. It uses a fixed pattern of 29- and 30-day months, so it's easy to compute.

The catch? It can drift a day away from Umm al-Qura.

Umm al-QuraTabular (civil)Moon sighting
How it worksAstronomical calculationFixed month patternOfficial sighting each month
Used forSaudi official datesSome libraries and date pickersRamadan and Eid start
Known in advance
26 Oct 202615 Jumada al-Ula 144814 Jumada al-Ula 1448–
Code valueislamic-umalquraislamic-civil–
Same day, two answers. Umm al-Qura is the one Saudi shoppers expect.

A one-day slip on a Ramadan countdown looks careless. So name the calendar in your code instead of trusting a default.

How to show Hijri dates in code

JavaScript's built-in Intl.DateTimeFormat handles Umm al-Qura with no library. Add the calendar and the digits to the locale tag:

const d = new Date("2026-10-26T12:00:00Z");
// Hijri, Umm al-Qura, Western digits
new Intl.DateTimeFormat(
  "ar-SA-u-ca-islamic-umalqura-nu-latn",
  { day: "numeric", month: "long", year: "numeric" }
).format(d);
// "15 جمادى الأولى 1448 هـ"
// Gregorian Arabic, Gulf month names
new Intl.DateTimeFormat(
  "ar-SA-u-ca-gregory-nu-latn",
  { day: "numeric", month: "long", year: "numeric" }
).format(d);
// "26 أكتوبر 2026"

Two parts of that tag do the work:

  • ca-islamic-umalqura picks the Saudi calendar. Avoid plain islamic and islamic-civil, which are approximations. In Node 22, plain islamic returns 16 Jumada al-Ula for the same day.
  • nu-latn forces Western digits, so dates match your prices. Our Arabic numerals guide explains why that matters.

On Shopify, Salla or Zid, look for a date format setting first. Then test an order confirmation email in Arabic, because emails often ignore the storefront setting.

Date format and month names

Gulf shoppers read dates day first. Write 26/10/2026, never 10/26/2026, in both Arabic and English.

When you spell the month out, use the Gulf names: يناير، فبراير، مارس … أكتوبر. The Levantine names, like كانون الثاني or تشرين الأول, are correct Arabic but look foreign in Riyadh and Dubai.

This bug is easy to ship by accident. Format with a Levantine locale such as ar-SY and October comes out as تشرين الأول. Stick to ar-SA or ar-AE and you'll get أكتوبر.

A Saudi shopper checking a delivery date on an Arabic store checkout on her phone
Delivery dates in Gregorian, with the weekday spelled out.

Want the whole Arabic layout right, not just dates? Our RTL design guide covers date pickers, forms and mirroring.

Invoices, ZATCA and delivery dates

Keep invoices on Gregorian dates. ZATCA requires a QR code on every simplified (B2C) tax invoice. That code holds the seller's name, VAT number, invoice date and time, total and VAT (ZATCA Phase One FAQ).

Your e-invoicing system fills in the timestamp, so never type a Hijri date into an invoice field.

You can print a Hijri date as a decorative line on a Ramadan receipt. Keep it outside the official invoice data. The ZATCA e-invoicing guide covers the rest of the rules.

Delivery dates need the most care, because they're a promise:

  • Show the weekday. "Sunday 1 November" is easier to plan around than a bare date, and it reminds shoppers when the weekend falls.
  • Give a range for longer routes. "Arrives 3–5 Nov" beats a single date you might miss.
  • Plan for Eid pauses. Many couriers slow down or stop for 2–4 days over each Eid, so publish an "order by" date well before it.

Moon sighting: build a buffer into sale dates

Umm al-Qura is calculated in advance. Ramadan and Eid aren't. They start when the new moon is sighted, so the official date can move by about a day, and it can differ between countries.

That matters for anything you promise. An "Eid sale ends 9 March" banner is fine. "Delivered before Eid, guaranteed" is risky until the announcement comes.

  1. 8 Feb 2027
    Ramadan 1448 starts (expected)

    Launch Ramadan pages a few days early. Confirm day one after the sighting.

  2. 4 Mar 2027
    Eid gift cut-off

    Set your "order by" date about 5 days before the expected Eid.

  3. 9 Mar 2027
    Eid al-Fitr (expected)

    Could land a day later. Keep sale end dates flexible by 1–2 days.

  4. 16 May 2027
    Eid al-Adha (expected)

    Fixed by the Dhu al-Hijjah sighting, about ten weeks after Eid al-Fitr.

Worked example: an Eid gift campaign

Say you sell perfume gift sets from a Riyadh warehouse, and Eid al-Fitr is expected on Tuesday 9 March 2027. Here's how the dates fall into place:

  1. 1

    Set the landing page header

    Write "عيد مبارك · شوال 1448 هـ" in Arabic, with the Gregorian offer dates in smaller text underneath.

  2. 2

    Pick the order-by date

    Couriers in Riyadh need 1–2 days, and some pause for Eid. Choose Thursday 4 March and label it in both calendars.

  3. 3

    Schedule the sale end

    End the sale on Wednesday 10 March, one day after the expected Eid, so a late sighting doesn't cut it short.

  4. 4

    Prepare a backup banner

    Draft a "we're open during Eid" message for the day the moon is announced, whichever day it is.

Nothing on that plan breaks if Eid moves by a day. Plan the full season, with prep deadlines, in our GCC ecommerce calendar.

Notes for UAE stores

The UAE follows the same pattern as Saudi Arabia: Gregorian for business, Hijri for religious seasons. A few details differ:

  • Moon sighting is announced by the UAE's own committee. Eid can fall on a different day from Saudi Arabia, so check both if you sell in both.
  • English pages carry more weight in the UAE. A Ramadan banner there often reads "Ramadan Kareem" with no Hijri year, and that's fine.
  • The weekend is Saturday–Sunday, so "Sat 6 Mar" isn't a working day for most couriers.

Notes for developers

A few traps show up again and again in GCC builds:

  • Time zones. Saudi Arabia is UTC+3 and the UAE is UTC+4. Format order dates in the shopper's zone, or a late-night order shows tomorrow's date.
  • Server vs browser. Node and browsers ship different ICU data versions, so render dates in one place. Mismatched output also causes React hydration warnings.
  • Store dates as ISO. Save every date as Gregorian ISO (2026-10-26) and convert to Hijri only for display.

Your date checklist

Dates on your GCC store
0%

Want a team to localize your store for you? Our Shopify localization service handles dates, digits, RTL and Arabic copy in one pass.

Frequently asked questions

As this page was updated, the Umm al-Qura date was 15 Jumada al-Ula 1448 AH. For any other day, use the official converter on ummulqura.org.sa or the code snippet on this page.

Sources & further reading

  1. Umm al-Qura calendar — Umm Al-Qura Calendar (official)
  2. Umm al-Qura calendar — Wikipedia
  3. Intl.DateTimeFormat — MDN Web Docs
  4. E-invoicing Phase One requirements (FAQ) — ZATCA
  5. Ramadan (Umm al-Qura dates) — Wikipedia

This guide is for general information only and is not legal, tax or financial advice. Rules and fees change — always confirm with the official source or a licensed advisor.

Maya
Maya

Maya is MiddleEastEcom's lead guide and editor. She researches GCC marketplaces, payments and regulations and turns them into practical playbooks for sellers.

Meet Maya