Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
dayjs vs luxon vs js-joda vs date-fns (calculating)
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/119.0.0.0 Safari/537.36
Browser:
Chrome 119
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
Dayjs
123209.1 Ops/sec
luxon
391362.7 Ops/sec
js-joda
4644611.5 Ops/sec
date-fns
1274651.5 Ops/sec
HTML Preparation code:
<script src="https://cdn.jsdelivr.net/npm/dayjs@1.11.9/dayjs.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/luxon@3.4.3/build/global/luxon.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@js-joda/core@5.5.3/dist/js-joda.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.9.0/date_fns.min.js"></script>
Script Preparation code:
var dayjsDate1 = dayjs('2022-09-01T00:00:00+09:00'); var dayjsDate2 = dayjs('2023-09-01T00:00:00+09:00'); var luxonDate1 = luxon.DateTime.fromISO("2022-09-01T00:00:00+09:00"); var luxonDate2 = luxon.DateTime.fromISO("2023-09-01T00:00:00+09:00"); var jsJodaDate1 = JSJoda.ZonedDateTime.parse('2022-09-01T00:00:00+09:00', JSJoda.DateTimeFormatter.ISO_OFFSET_DATE_TIME); var jsJodaDate2 = JSJoda.ZonedDateTime.parse('2023-09-01T00:00:00+09:00', JSJoda.DateTimeFormatter.ISO_OFFSET_DATE_TIME); var date1 = new Date('2022-09-01T00:00:00+09:00'); var date2 = new Date('2023-09-01T00:00:00+09:00');
Tests:
Dayjs
dayjsDate2.diff(dayjsDate1, 'month');
luxon
luxonDate2.diff(luxonDate1, 'months');
js-joda
jsJodaDate1.until(jsJodaDate2, JSJoda.ChronoUnit.MONTHS);
date-fns
dateFns.differenceInMonths(date2, date1);