diff --git a/src/components/metrics/DatePickerForm.js b/src/components/metrics/DatePickerForm.js index fa45b64a..9eb3c52e 100644 --- a/src/components/metrics/DatePickerForm.js +++ b/src/components/metrics/DatePickerForm.js @@ -1,6 +1,6 @@ import { useState } from 'react'; import { Button, ButtonGroup, Calendar } from 'react-basics'; -import { isAfter, isBefore, isSameDay } from 'date-fns'; +import { isAfter, isBefore, isSameDay, startOfDay, endOfDay } from 'date-fns'; import useLocale from 'components/hooks/useLocale'; import { getDateLocale } from 'lib/lang'; import { FILTER_DAY, FILTER_RANGE } from 'lib/constants'; @@ -31,9 +31,9 @@ export function DatePickerForm({ const handleSave = () => { if (selected === FILTER_DAY) { - onChange(`range:${singleDate.getTime()}:${singleDate.getTime()}`); + onChange(`range:${startOfDay(singleDate).getTime()}:${endOfDay(singleDate).getTime()}`); } else { - onChange(`range:${startDate.getTime()}:${endDate.getTime()}`); + onChange(`range:${startOfDay(startDate).getTime()}:${endOfDay(endDate).getTime()}`); } }; diff --git a/src/lib/date.ts b/src/lib/date.ts index 14f0e13c..bfbfc0b9 100644 --- a/src/lib/date.ts +++ b/src/lib/date.ts @@ -78,7 +78,9 @@ export function parseDateRange(value, locale = 'en-US') { const endDate = new Date(+endTime); return { - ...getDateRangeValues(startDate, endDate), + startDate, + endDate, + unit: getMinimumUnit(startDate, endDate), value, }; } @@ -255,14 +257,6 @@ export function getMinimumUnit(startDate, endDate) { return 'year'; } -export function getDateRangeValues(startDate, endDate) { - return { - startDate: startOfDay(startDate), - endDate: endOfDay(endDate), - unit: getMinimumUnit(startDate, endDate), - }; -} - export function getDateFromString(str) { const [ymd, hms] = str.split(' '); const [year, month, day] = ymd.split('-');