Skip to content

Back to Snippets

dateTimeParts()

function dateTimeParts(date) {
	const formatter = new Intl.DateTimeFormat('en', {
		year: 'numeric',
		month: '2-digit',
		day: '2-digit',
		hour: '2-digit',
		minute: '2-digit',
		second: '2-digit',
		hour12: false
	});
	return Object.fromEntries(
		formatter
			.formatToParts(date)
			.map(it => [
				it.type, 
				Number.isNaN(+it.value) ? it.value : +it.value
			])
	);
}

Usage:

const { year, month, day } = dateTimeParts(new Date());