MCPcopy
hub / github.com/iamkun/dayjs / diff

Method diff

src/index.js:350–389  ·  view source on GitHub ↗
(input, units, float)

Source from the content-addressed store, hash-verified

348 }
349
350 diff(input, units, float) {
351 const unit = Utils.p(units)
352 const that = dayjs(input)
353 const zoneDelta = (that.utcOffset() - this.utcOffset()) * C.MILLISECONDS_A_MINUTE
354 const diff = this - that
355 const getMonth = () => Utils.m(this, that)
356
357 let result
358 switch (unit) {
359 case C.Y:
360 result = getMonth() / 12
361 break
362 case C.M:
363 result = getMonth()
364 break
365 case C.Q:
366 result = getMonth() / 3
367 break
368 case C.W:
369 result = (diff - zoneDelta) / C.MILLISECONDS_A_WEEK
370 break
371 case C.D:
372 result = (diff - zoneDelta) / C.MILLISECONDS_A_DAY
373 break
374 case C.H:
375 result = diff / C.MILLISECONDS_A_HOUR
376 break
377 case C.MIN:
378 result = diff / C.MILLISECONDS_A_MINUTE
379 break
380 case C.S:
381 result = diff / C.MILLISECONDS_A_SECOND
382 break
383 default:
384 result = diff // milliseconds
385 break
386 }
387
388 return float ? result : Utils.a(result)
389 }
390
391 daysInMonth() {
392 return this.endOf(C.M).$D

Callers 10

timezone.test.jsFile · 0.80
display.test.jsFile · 0.80
badMutable.test.jsFile · 0.80
utc.test.jsFile · 0.80
devHelper.test.jsFile · 0.80
index.jsFile · 0.80
index.jsFile · 0.80
index.jsFile · 0.80
index.jsFile · 0.80
index.jsFile · 0.80

Calls 3

utcOffsetMethod · 0.95
dayjsFunction · 0.85
utcOffsetMethod · 0.65

Tested by

no test coverage detected