43 lines
929 B
TypeScript

/**
* @param {number} time - in minutes
*/
export const getTimeDurationObject = (
time: number,
): {
hours?: number
minutes: number
} => {
if (time > 60) {
return {
hours: Math.floor(time / 60),
minutes: time % 60,
}
}
return { minutes: time }
}
/**
* @param startDate
* @param endDate
* @returns duration in minutes
*/
export const durationInMinutesFromDates = (startDate: Date, endDate: Date): number => {
const diff = endDate.getTime() - startDate.getTime()
return Math.floor(diff / (1000 * 60))
}
/**
* @param duration in minutes
*/
export const printTimeDuration = (duration: number): string => {
const time = getTimeDurationObject(duration)
const result = time.minutes > 0 ? `${time.minutes} minutes` : ''
if (time.hours) {
return `${time.hours} hours` + (result !== '' ? ` and ${result}` : '')
}
if (result === '') {
return '0 minutes'
}
return result
}