1 import { DatePipe } from '@angular/common'
4 let intl: Intl.DateTimeFormat
6 type DateFormat = 'medium' | 'precise'
8 function dateToHuman (localeId: string, date: Date, format: 'medium' | 'precise' = 'medium') {
10 datePipe = new DatePipe(localeId)
14 intl = new Intl.DateTimeFormat(localeId, {
21 fractionalSecondDigits: 3
25 if (format === 'medium') return datePipe.transform(date, format)
26 if (format === 'precise') return intl.format(date)
29 function durationToString (duration: number) {
30 const hours = Math.floor(duration / 3600)
31 const minutes = Math.floor((duration % 3600) / 60)
32 const seconds = duration % 60
34 const minutesPadding = minutes >= 10 ? '' : '0'
35 const secondsPadding = seconds >= 10 ? '' : '0'
36 const displayedHours = hours > 0 ? hours.toString() + ':' : ''
39 displayedHours + minutesPadding + minutes.toString() + ':' + secondsPadding + seconds.toString()