These docs are for an old release. Info on upgrading to v5
edit doc

Calendar::formatRange

Formats two dates, a start and an end, into a string. A separator string, most likely a dash, will be intelligently inserted between the two dates. Inherits the time zone and locale settings of the calendar it’s called on.

calendar.formatRange( start, end, settings )

start and end can each be a Date Object or something that will parse into a Date Object.

settings is an object that holds any of the date format config options. It also accepts the following additional properties:

  • separator — what will be inserted between the two dates. a ' - ' by default
  • isExclusive — if true, the given end date will be considered the exclusive end of the range, meaning date just before the end will be rendered instead. Useful if you need to format an exclusive-end whole-day range.

Example:

import { Calendar } from '@fullcalendar/core';
import dayGridPlugin from '@fullcalendar/daygrid';

let calendar = new Calendar(calendarEl, {
  plugins: [ dayGridPlugin ],
  timeZone: 'UTC',
  locale: 'es'
})

let str = calendar.formatRange('2018-09-01', '2018-09-15', {
  month: 'long',
  year: 'numeric',
  day: 'numeric',
  separator: ' to '
})

console.log(str) // "1 to 15 de septiembre de 2018"