@chayns-components/devalue-slider
Version:
A slider to devalue something.
79 lines • 2.47 kB
JavaScript
import { Language } from 'chayns-api';
export const addSeconds = (date, seconds) => {
const result = new Date(date);
result.setSeconds(date.getSeconds() + seconds);
return result;
};
export const subHours = (date, hours) => {
const result = new Date(date);
result.setHours(date.getHours() - hours);
return result;
};
export const differenceInHours = (date1, date2) => {
const diffInMilliseconds = date1.getTime() - date2.getTime();
return Math.floor(diffInMilliseconds / (1000 * 60 * 60)); // Millisekunden in Stunden umrechnen
};
export const getTimeTillNow = ({
date,
currentDate,
language = Language.English
}) => {
const diffInSeconds = Math.floor((currentDate.getTime() - date.getTime()) / 1000);
const isPast = diffInSeconds > 0;
const units = [{
label: 'year',
seconds: 31536000
}, {
label: 'month',
seconds: 2592000
}, {
label: 'day',
seconds: 86400
}, {
label: 'hour',
seconds: 3600
}, {
label: 'minute',
seconds: 60
}, {
label: 'second',
seconds: 1
}];
const absDiff = Math.abs(diffInSeconds);
const {
label,
seconds
} = units.find(u => absDiff >= u.seconds) || {
label: 'second',
seconds: 1
};
const count = Math.floor(absDiff / seconds);
const formatter = new Intl.RelativeTimeFormat(language, {
numeric: 'auto'
});
return formatter.format(isPast ? -count : count, label);
};
export const intervalToDuration = interval => {
const startTime = interval.start.getTime();
const endTime = interval.end.getTime();
const diffInMilliseconds = endTime - startTime;
const years = Math.floor(diffInMilliseconds / (1000 * 60 * 60 * 24 * 365.25));
const months = Math.floor(diffInMilliseconds % (1000 * 60 * 60 * 24 * 365.25) / (1000 * 60 * 60 * 24 * 30));
const days = Math.floor(diffInMilliseconds % (1000 * 60 * 60 * 24 * 30) / (1000 * 60 * 60 * 24));
const hours = Math.floor(diffInMilliseconds % (1000 * 60 * 60 * 24) / (1000 * 60 * 60));
const minutes = Math.floor(diffInMilliseconds % (1000 * 60 * 60) / (1000 * 60));
const seconds = Math.floor(diffInMilliseconds % (1000 * 60) / 1000);
return {
years,
months,
days,
hours,
minutes,
seconds
};
};
export const differenceInMinutes = (date1, date2) => {
const diffInMilliseconds = date1.getTime() - date2.getTime();
return Math.floor(diffInMilliseconds / (1000 * 60)); // Millisekunden in Minuten umrechnen
};
//# sourceMappingURL=date.js.map