Skip to content

Locales

103 locales are available. Format dates in different languages and cultural conventions.

Set locale for a specific instance. Affects month names, day names, and ordinal formatting:

const date = daytime('2025-11-15T14:30:45Z')
// English (default)
date.locale('en').format('dddd, MMMM Do YYYY')
// "Saturday, November 15th 2025"
// Indonesian
date.locale('id').format('dddd, MMMM Do YYYY')
// "Sabtu, November 15th 2025"
// Japanese
date.locale('ja').format('dddd, MMMM Do YYYY')
// "土曜日, 11月 15th 2025"
const date = daytime('2025-11-15').locale('id')
const currentLocale = date.locale()
// "id"

Set default locale for all new instances. Existing instances are not affected:

// Set default locale
daytime.setDefaultLocale('id')
// Now all new instances use Indonesian
daytime('2025-11-15').format('dddd')
// "Sabtu"
// Get default locale
const defaultLocale = daytime.getDefaultLocale()
// "id"

Get list of all available locales:

const locales = daytime.getAvailableLocales()
console.log(locales.length)
// 103
console.log(locales)
// ["en", "id", "ja", "fr", "de", "es", ...]

Daytime supports 103 locales including:

  • English (en) - English
  • Indonesian (id) - Bahasa Indonesia
  • Japanese (ja) - 日本語
  • French (fr) - Français
  • German (de) - Deutsch
  • Spanish (es) - Español
  • Portuguese (pt) - Português
  • Russian (ru) - Русский
  • Chinese (zh) - 中文
  • Korean (ko) - 한국어
  • Italian (it) - Italiano
  • Dutch (nl) - Nederlands
  • Arabic (ar) - العربية
  • Hindi (hi) - हिन्दी
  • And 89 more…

Locales affect month and day names:

const date = daytime('2025-11-15T14:30:45Z')
// English
date.locale('en').format('dddd, MMMM Do YYYY')
// "Saturday, November 15th 2025"
// Indonesian
date.locale('id').format('dddd, MMMM Do YYYY')
// "Sabtu, November 15th 2025"
// Japanese
date.locale('ja').format('dddd, MMMM Do YYYY')
// "土曜日, 11月 15th 2025"
// French
date.locale('fr').format('dddd, MMMM Do YYYY')
// "Samedi, Novembre 15th 2025"
// German
date.locale('de').format('dddd, MMMM Do YYYY')
// "Samstag, November 15th 2025"

These format tokens are locale-aware:

  • dddd - Full day name (Saturday, Sabtu, 土曜日)
  • ddd - Short day name (Sat, Sab, 土)
  • MMMM - Full month name (November, November, 11月)
  • MMM - Short month name (Nov, Nov, 11月)

Other tokens remain the same across locales:

  • YYYY, YY - Year
  • MM, M - Month number
  • DD, D, Do - Day
  • HH, H, hh, h - Hour
  • mm, m - Minute
  • ss, s - Second
function formatDateForLocale(date: Daytime, locale: string): string {
return date.locale(locale).format('dddd, MMMM Do YYYY')
}
const date = daytime('2025-11-15')
formatDateForLocale(date, 'en')
// "Saturday, November 15th 2025"
formatDateForLocale(date, 'id')
// "Sabtu, November 15th 2025"
formatDateForLocale(date, 'ja')
// "土曜日, 11月 15th 2025"
function getUserLocale(): string {
// Get from user settings, browser, etc.
return localStorage.getItem('locale') || 'en'
}
const date = daytime('2025-11-15')
const userLocale = getUserLocale()
console.log(date.locale(userLocale).format('dddd, MMMM Do YYYY'))
// Output depends on userLocale setting
// Set default locale at app startup
daytime.setDefaultLocale('id')
// All instances now use Indonesian
daytime('2025-11-15').format('dddd')
// "Sabtu"
daytime('2025-11-16').format('dddd')
// "Minggu"
const supportedLocales = [
{ code: 'en', name: 'English' },
{ code: 'id', name: 'Bahasa Indonesia' },
{ code: 'ja', name: '日本語' },
{ code: 'fr', name: 'Français' }
]
function formatWithSelectedLocale(date: Daytime, localeCode: string): string {
return date.locale(localeCode).format('dddd, MMMM Do YYYY')
}
const date = daytime('2025-11-15')
supportedLocales.forEach(locale => {
console.log(`${locale.name}: ${formatWithSelectedLocale(date, locale.code)}`)
})
// English: Saturday, November 15th 2025
// Bahasa Indonesia: Sabtu, November 15th 2025
// 日本語: 土曜日, 11月 15th 2025
// Français: Samedi, Novembre 15th 2025

Locale codes follow the ISO 639-1 standard (2-letter language codes):

  • en - English
  • id - Indonesian
  • ja - Japanese
  • fr - French
  • de - German
  • etc.

Locale is preserved when chaining:

const date = daytime('2025-11-15')
.locale('id')
.add(1, 'day')
.add(1, 'month')
.format('dddd, MMMM')
// Still uses Indonesian locale
console.log(date)
// "Minggu, Desember"

To see all 103 available locales, call:

const allLocales = daytime.getAvailableLocales()
console.log(allLocales)
// Complete list of all supported locale codes