@chayns-components/devalue-slider
Version:
A slider to devalue something.
91 lines (90 loc) • 2.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.subHours = exports.intervalToDuration = exports.getTimeTillNow = exports.differenceInMinutes = exports.differenceInHours = exports.addSeconds = void 0;
var _chaynsApi = require("chayns-api");
const addSeconds = (date, seconds) => {
const result = new Date(date);
result.setSeconds(date.getSeconds() + seconds);
return result;
};
exports.addSeconds = addSeconds;
const subHours = (date, hours) => {
const result = new Date(date);
result.setHours(date.getHours() - hours);
return result;
};
exports.subHours = subHours;
const differenceInHours = (date1, date2) => {
const diffInMilliseconds = date1.getTime() - date2.getTime();
return Math.floor(diffInMilliseconds / (1000 * 60 * 60)); // Millisekunden in Stunden umrechnen
};
exports.differenceInHours = differenceInHours;
const getTimeTillNow = ({
date,
currentDate,
language = _chaynsApi.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);
};
exports.getTimeTillNow = getTimeTillNow;
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
};
};
exports.intervalToDuration = intervalToDuration;
const differenceInMinutes = (date1, date2) => {
const diffInMilliseconds = date1.getTime() - date2.getTime();
return Math.floor(diffInMilliseconds / (1000 * 60)); // Millisekunden in Minuten umrechnen
};
exports.differenceInMinutes = differenceInMinutes;
//# sourceMappingURL=date.js.map