Date Formats
Handle different date formats in the JavaScript Calendar component.
Documentation
Format Tokens
| Token | Description | Example |
|---|---|---|
YYYY |
4-digit year | 2024 |
YY |
2-digit year | 24 |
MMMM |
Full month name | January |
MMM |
Short month name | Jan |
MM |
Month with zero (01-12) | 01 |
M |
Month (1-12) | 1 |
DDDD |
Full day name | Monday |
DDD |
Short day name | Mon |
DD |
Day with zero (01-31) | 05 |
D |
Day (1-31) | 5 |
HH |
Hour 24h with zero (00-23) | 09 |
H |
Hour 24h (0-23) | 9 |
hh |
Hour 12h with zero (01-12) | 09 |
h |
Hour 12h (1-12) | 9 |
mm |
Minutes with zero (00-59) | 05 |
m |
Minutes (0-59) | 5 |
ss |
Seconds with zero (00-59) | 08 |
s |
Seconds (0-59) | 8 |
AM/PM |
Uppercase meridiem | AM |
am/pm |
Lowercase meridiem | am |
Regional Formats
| Region | Format | Example |
|---|---|---|
| USA | MM/DD/YYYY | 12/31/2024 |
| Europe | DD/MM/YYYY | 31/12/2024 |
| Germany | DD.MM.YYYY | 31.12.2024 |
| Japan | YYYY/MM/DD | 2024/12/31 |
| ISO | YYYY-MM-DD | 2024-12-31 |
Supported Input Formats
The calendar accepts ISO strings, Date objects, and Excel serial numbers:
<script>
const { Calendar } = calendarjs;
// ISO string (recommended)
Calendar(document.getElementById('calendar'), {
type: 'inline',
value: '2024-01-15'
});
// Date object
Calendar(element, { value: new Date() });
// Excel serial (with numeric: true)
Calendar(element, { value: 45000, numeric: true });
</script>
import { Calendar } from '@calendarjs/ce';
import '@calendarjs/ce/dist/style.css';
export default function App() {
return render => render`<div>
<Calendar type="inline" value="2024-01-15" />
<Calendar type="inline" value="${new Date()}" />
<Calendar type="inline" value="${45000}" numeric="true" />
</div>`;
}
import { Calendar } from '@calendarjs/ce/dist/react';
import '@calendarjs/ce/dist/style.css';
export default function App() {
return (
<div>
{/* ISO string */}
<Calendar type="inline" value="2024-01-15" />
{/* Date object */}
<Calendar type="inline" value={new Date()} />
{/* Excel serial */}
<Calendar type="inline" value={45000} numeric={true} />
</div>
);
}
<template>
<div>
<!-- ISO string -->
<Calendar type="inline" value="2024-01-15" />
<!-- Date object -->
<Calendar type="inline" :value="new Date()" />
<!-- Excel serial -->
<Calendar type="inline" :value="45000" :numeric="true" />
</div>
</template>
<script>
import { Calendar } from '@calendarjs/ce/dist/vue';
import '@calendarjs/ce/dist/style.css';
export default {
components: { Calendar }
}
</script>
Examples
Custom Display Format
Set how dates display using the format property:
<html>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@calendarjs/ce/dist/style.min.css" />
<script src="https://cdn.jsdelivr.net/npm/lemonadejs/dist/lemonade.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@calendarjs/ce/dist/index.min.js"></script>
<input type="text" id="input" placeholder="Select date" />
<div id="calendar"></div>
<script>
const { Calendar } = calendarjs;
Calendar(document.getElementById('calendar'), {
input: document.getElementById('input'),
format: 'MM/DD/YYYY HH:mm',
time: true
});
</script>
</html>
import { Calendar } from '@calendarjs/ce';
import '@calendarjs/ce/dist/style.css';
export default function App() {
const self = this;
self.input = null;
return render => render`<div>
<input type="text" :ref="self.input" placeholder="Select date" />
<Calendar :input="self.input" format="MM/DD/YYYY HH:mm" time="true" />
</div>`;
}
import { useRef, useState, useEffect } from 'react';
import { Calendar } from '@calendarjs/ce/dist/react';
import '@calendarjs/ce/dist/style.css';
export default function App() {
const inputRef = useRef();
const [input, setInput] = useState(null);
useEffect(() => {
if (inputRef.current) setInput(inputRef.current);
}, []);
return (
<div>
<input type="text" ref={inputRef} placeholder="Select date" />
{input && <Calendar input={input} format="MM/DD/YYYY HH:mm" time={true} />}
</div>
);
}
<template>
<div>
<input type="text" ref="inputRef" placeholder="Select date" />
<Calendar :input="$refs.inputRef" format="MM/DD/YYYY HH:mm" :time="true" />
</div>
</template>
<script>
import { Calendar } from '@calendarjs/ce/dist/vue';
import '@calendarjs/ce/dist/style.css';
export default {
components: { Calendar }
}
</script>
Format Conversion Helpers
Use CalendarJS Helpers for format conversion:
import { Calendar, Helpers } from '@calendarjs/ce';
import '@calendarjs/ce/dist/style.css';
// Date to Excel serial
const serialNumber = Helpers.dateToNum(new Date());
// Excel serial to date
const dateString = Helpers.numToDate(serialNumber);
// Current date formatted
const now = Helpers.now();
// Two-digit padding
const month = Helpers.two(5); // "05"