Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
luxon vs dayjs vs date-fns vs temporal-polyfill (formatting)
Create and format dates from a timestamp
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Browser:
Chrome 131
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
luxon v3.5.0
557142.7 Ops/sec
dayjs v1.11.13
1302300.5 Ops/sec
date-fns v4.1.0
28411.3 Ops/sec
temporal-polyfill 0.2.5
28299.1 Ops/sec
HTML Preparation code:
<script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/3.5.0/luxon.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.13/dayjs.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/4.1.0/cdn.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/temporal-polyfill@0.2.5/global.min.js"></script>
Script Preparation code:
window.timestamp = 1735660089 window.intlFormat = { year: "numeric", month: "2-digit", day: "2-digit", hour: "numeric", minute: "numeric", hour12: true, }
Tests:
luxon v3.5.0
var date = luxon.DateTime.fromMillis(timestamp * 1000); date.toLocaleString(intlFormat)
dayjs v1.11.13
var date = dayjs(timestamp * 1000); date.format("L LT")
date-fns v4.1.0
var date = dateFns.fromUnixTime(timestamp); dateFns.intlFormat(date, intlFormat)
temporal-polyfill 0.2.5
var instant = Temporal.Instant.fromEpochMilliseconds(timestamp * 1000) instant.toLocaleString(intlFormat)