The event calendar works with local times by default, but ships with support for changing the timezone. The conversions and correct output relies on either of these three external libraries: luxon, moment-timezone and day.js. For installing and using these libraries check out this guide.
There are two angles regarding timezones:
dataTimezone- the calendar expects this format and returns this format. It is'local'by default if the date-times don't contain any timezone information. It can be set globally on the calendar using thedataTimezoneoption, or specifically for the event using thetimezoneproperty of the event data.displayTimezone- the calendar displays the events in this timezone. The date-times will be converted from thedataTimezoneand displayed accordingly. It is'local'by default
Demo
Data timezone is:
Display timezone is:
The local timezone your browser is in:
<script setup>
import { dayjsTimezone } from '@mobiscroll/vue';
import dayjs from 'dayjs';
import timezone from 'dayjs/plugin/timezone';
import utc from 'dayjs/plugin/utc';
// Extend Day.js with UTC and timezone plugins
dayjs.extend(utc);
dayjs.extend(timezone);
// Setup Mobiscroll Day.js plugin
dayjsTimezone.dayjs = dayjs;
const myEvents = [{
start: '2026-11-12T07:00:00Z',
end: '2026-11-12T09:00:00Z',
title: 'Stakeholder mtg.',
color: '#d64646'
}, {
start: '2026-11-15T18:00:00Z',
end: '2026-11-15T19:30:00Z',
title: 'Wrapup mtg.',
color: '#ecbc72'
}, {
start: '2026-11-12T14:00:00Z',
end: '2026-11-12T18:00:00Z',
title: 'Business of Software Conference',
color: '#ff6d42'
}, {
start: '2026-11-13T20:00:00Z',
end: '2026-11-13T21:50:00Z',
title: 'Product Team mtg.',
color: '#913aa7'
}, {
start: '2026-11-11T13:00:00Z',
end: '2026-11-11T15:00:00Z',
title: 'Decision Making mtg.',
color: '#46c3d6'
}, {
start: '2026-11-13T13:00:00Z',
end: '2026-11-13T14:00:00Z',
title: 'Quick mtg. with Martin',
color: '#50b166'
}, {
start: '2026-11-15T12:00:00Z',
end: '2026-11-15T16:00:00Z',
color: '#5bb7c5',
title: 'Team-Building'
}]
const myView = {
agenda: { type: 'week' }
}
</script>
<template>
<MbscEventcalendar
:view="myView"
:data="myEvents"
:timezonePlugin="dayjsTimezone"
dataTimezone="utc"
displayTimezone="local "
/>
</template>

<script setup>
import { dayjsTimezone, MbscEventcalendar, setOptions } from '@mobiscroll/vue'
import dayjs from 'dayjs'
import timezone from 'dayjs/plugin/timezone'
import utc from 'dayjs/plugin/utc'
dayjs.extend(utc)
dayjs.extend(timezone)
dayjsTimezone.dayjs = dayjs
setOptions({
locale: ,
theme: ' ',
themeVariant: ' '
})
const myEvents = [
{
start: '2026-11-12T07:00',
end: '2026-11-12T09:00',
title: 'Stakeholder mtg.',
color: '#d64646'
},
{
start: '2026-11-15T18:00',
end: '2026-11-15T19:30',
title: 'Wrapup mtg.',
color: '#ecbc72'
},
{
start: '2026-11-12T14:00',
end: '2026-11-12T18:00',
title: 'Business of Software Conference',
color: '#ff6d42'
},
{
start: '2026-11-13T20:00',
end: '2026-11-13T21:50',
title: 'Product Team mtg.',
color: '#913aa7'
},
{
start: '2026-11-11T13:00',
end: '2026-11-11T15:00',
title: 'Decision Making mtg.',
color: '#46c3d6'
},
{
start: '2026-11-13T13:00',
end: '2026-11-13T14:00',
title: 'Quick mtg. with Martin',
color: '#50b166'
},
{
start: '2026-11-15T12:00',
end: '2026-11-15T16:00',
color: '#5bb7c5',
title: 'Team-Building'
}
]
const myView = {
agenda: { type: 'week' }
}
</script>
<template>
<MbscEventcalendar
dataTimezone="utc"
displayTimezone="local"
:data="myEvents"
:timezonePlugin="dayjsTimezone"
:view="myView"
/>
</template>
<script setup lang="ts">
import { dayjsTimezone, MbscEventcalendar, setOptions } from '@mobiscroll/vue'
import type { MbscCalendarEvent, MbscEventcalendarView } from '@mobiscroll/vue'
import dayjs from 'dayjs'
import timezone from 'dayjs/plugin/timezone'
import utc from 'dayjs/plugin/utc'
dayjs.extend(utc)
dayjs.extend(timezone)
dayjsTimezone.dayjs = dayjs
setOptions({
locale: ,
theme: ' ',
themeVariant: ' '
})
const myEvents: MbscCalendarEvent[] = [
{
start: '2026-11-12T07:00',
end: '2026-11-12T09:00',
title: 'Stakeholder mtg.',
color: '#d64646'
},
{
start: '2026-11-15T18:00',
end: '2026-11-15T19:30',
title: 'Wrapup mtg.',
color: '#ecbc72'
},
{
start: '2026-11-12T14:00',
end: '2026-11-12T18:00',
title: 'Business of Software Conference',
color: '#ff6d42'
},
{
start: '2026-11-13T20:00',
end: '2026-11-13T21:50',
title: 'Product Team mtg.',
color: '#913aa7'
},
{
start: '2026-11-11T13:00',
end: '2026-11-11T15:00',
title: 'Decision Making mtg.',
color: '#46c3d6'
},
{
start: '2026-11-13T13:00',
end: '2026-11-13T14:00',
title: 'Quick mtg. with Martin',
color: '#50b166'
},
{
start: '2026-11-15T12:00',
end: '2026-11-15T16:00',
color: '#5bb7c5',
title: 'Team-Building'
}
]
const myView: MbscEventcalendarView = {
agenda: { type: 'week' }
}
</script>
<template>
<MbscEventcalendar
dataTimezone="utc"
displayTimezone="local"
:data="myEvents"
:timezonePlugin="dayjsTimezone"
:view="myView"
/>
</template>