46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
|
import startOfSecond from "../startOfSecond/index.js";
|
||
|
import requiredArgs from "../_lib/requiredArgs/index.js";
|
||
|
/**
|
||
|
* @name isSameSecond
|
||
|
* @category Second Helpers
|
||
|
* @summary Are the given dates in the same second (and hour and day)?
|
||
|
*
|
||
|
* @description
|
||
|
* Are the given dates in the same second (and hour and day)?
|
||
|
*
|
||
|
* @param {Date|Number} dateLeft - the first date to check
|
||
|
* @param {Date|Number} dateRight - the second date to check
|
||
|
* @returns {Boolean} the dates are in the same second (and hour and day)
|
||
|
* @throws {TypeError} 2 arguments required
|
||
|
*
|
||
|
* @example
|
||
|
* // Are 4 September 2014 06:30:15.000 and 4 September 2014 06:30.15.500 in the same second?
|
||
|
* const result = isSameSecond(
|
||
|
* new Date(2014, 8, 4, 6, 30, 15),
|
||
|
* new Date(2014, 8, 4, 6, 30, 15, 500)
|
||
|
* )
|
||
|
* //=> true
|
||
|
*
|
||
|
* @example
|
||
|
* // Are 4 September 2014 06:00:15.000 and 4 September 2014 06:01.15.000 in the same second?
|
||
|
* const result = isSameSecond(
|
||
|
* new Date(2014, 8, 4, 6, 0, 15),
|
||
|
* new Date(2014, 8, 4, 6, 1, 15)
|
||
|
* )
|
||
|
* //=> false
|
||
|
*
|
||
|
* @example
|
||
|
* // Are 4 September 2014 06:00:15.000 and 5 September 2014 06:00.15.000 in the same second?
|
||
|
* const result = isSameSecond(
|
||
|
* new Date(2014, 8, 4, 6, 0, 15),
|
||
|
* new Date(2014, 8, 5, 6, 0, 15)
|
||
|
* )
|
||
|
* //=> false
|
||
|
*/
|
||
|
|
||
|
export default function isSameSecond(dirtyDateLeft, dirtyDateRight) {
|
||
|
requiredArgs(2, arguments);
|
||
|
var dateLeftStartOfSecond = startOfSecond(dirtyDateLeft);
|
||
|
var dateRightStartOfSecond = startOfSecond(dirtyDateRight);
|
||
|
return dateLeftStartOfSecond.getTime() === dateRightStartOfSecond.getTime();
|
||
|
}
|