iamkun / iamkun/dayjs

date1.diff(date2, 'day') does not produce expected result

Open
#684 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
48.7k
Forks
2.5k
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**
I'm using `.diff()` with two dayjs objects to calculate a duration. However, this doesn't seem to work with `day`. Example:
```
const duration = (start, end) => {
const daysDiff = end.diff(start, 'day'); // produces `0`, expected `1`
const hoursDiff = end.diff(start, "hour"); // expected result
const minutesDiff = end.diff(start, "minute") % 60; // expected result
return `${daysDiff} day ${hoursDiff} hr ${minutesDiff} mins`;
}

duration("2019-09-28T23:00:00", "2019-09-29T00:00:00")
// -> 1 day 1 hr
```
However, if I use `const daysDiff = end.date() - start.date();` then I get the expected result.
**Expected behavior**
See above (expect `daysDiff` to be 1)
-> 1 day 1 hr

**Information**
- Day.js Version 1.8.16
- OS: Mac OS Mojave Version 10.14.2
- Browser: Chrome Version 77.0.3865.90
- Time zone: GMT-07:00 DST (Pacific Daylight Time)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.