UNPKG

@chayns-components/devalue-slider

Version:
91 lines (90 loc) 2.93 kB
"use strict"; 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