mirror of
https://github.com/IT4Change/gradido.git
synced 2026-03-01 12:44:43 +00:00
43 lines
929 B
TypeScript
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
|
|
}
|