Fix date issue in Safari.

This commit is contained in:
Mike Cao 2020-09-23 08:22:40 -07:00
parent c6eec3ee62
commit 15ea2ba913

View File

@ -100,6 +100,19 @@ export function getDateRangeValues(startDate, endDate) {
return { startDate: startOfDay(startDate), endDate: endOfDay(endDate), unit }; return { startDate: startOfDay(startDate), endDate: endOfDay(endDate), unit };
} }
export function getDateFromString(str) {
const [ymd, hms] = str.split(' ');
const [year, month, day] = ymd.split('-');
if (hms) {
const [hour, min, sec] = hms.split(':');
return new Date(year, month - 1, day, hour, min, sec);
}
return new Date(year, month - 1, day);
}
const dateFuncs = { const dateFuncs = {
hour: [differenceInHours, addHours, startOfHour], hour: [differenceInHours, addHours, startOfHour],
day: [differenceInCalendarDays, addDays, startOfDay], day: [differenceInCalendarDays, addDays, startOfDay],
@ -114,12 +127,7 @@ export function getDateArray(data, startDate, endDate, unit) {
function findData(t) { function findData(t) {
const x = data.find(e => { const x = data.find(e => {
if (unit === 'hour') { return normalize(getDateFromString(e.t)).getTime() === t.getTime();
return normalize(new Date(e.t)).getTime() === t.getTime();
}
const [year, month, day] = e.t.split('-');
return normalize(new Date(year, month - 1, day)).getTime() === t.getTime();
}); });
return x?.y || 0; return x?.y || 0;