2017-11-13 01:23:39 -05:00
|
|
|
'use strict';
|
|
|
|
|
2019-06-03 19:47:41 -04:00
|
|
|
export function getBuster(resolution = 5) {
|
|
|
|
const now = Math.floor(Date.now() / 1000);
|
|
|
|
return now - (now % resolution);
|
|
|
|
}
|
|
|
|
|
2017-11-13 01:23:39 -05:00
|
|
|
export function duration_to_string(elapsed, separate_days, days_only, no_hours, no_seconds) {
|
|
|
|
const seconds = elapsed % 60;
|
|
|
|
let minutes = Math.floor(elapsed / 60),
|
|
|
|
hours = Math.floor(minutes / 60),
|
|
|
|
days = '';
|
|
|
|
|
|
|
|
minutes = minutes % 60;
|
|
|
|
|
|
|
|
if ( separate_days ) {
|
|
|
|
days = Math.floor(hours / 24);
|
|
|
|
hours = hours % 24;
|
|
|
|
if ( days_only && days > 0 )
|
|
|
|
return `${days} days`;
|
|
|
|
|
|
|
|
days = days > 0 ? `${days} days, ` : '';
|
|
|
|
}
|
|
|
|
|
2019-06-17 15:32:38 -04:00
|
|
|
const show_hours = (!no_hours || days || hours);
|
|
|
|
|
2017-11-13 01:23:39 -05:00
|
|
|
return `${days}${
|
2019-06-17 15:32:38 -04:00
|
|
|
show_hours ? `${days && hours < 10 ? '0' : ''}${hours}:` : ''
|
|
|
|
}${show_hours && minutes < 10 ? '0' : ''}${minutes}${
|
2017-11-13 01:23:39 -05:00
|
|
|
no_seconds ? '' : `:${seconds < 10 ? '0' : ''}${seconds}`}`;
|
2018-07-19 22:03:01 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export function print_duration(seconds) {
|
2019-06-19 20:57:14 -04:00
|
|
|
let minutes = Math.floor(seconds / 60);
|
|
|
|
const hours = Math.floor(minutes / 60);
|
2018-07-19 22:03:01 -04:00
|
|
|
|
|
|
|
minutes %= 60;
|
|
|
|
seconds %= 60;
|
|
|
|
|
|
|
|
return `${hours > 0 ? `${hours}:${minutes < 10 ? '0' : ''}` : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;
|
2019-10-18 20:56:33 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2021-01-27 17:36:01 -05:00
|
|
|
export function durationForChat(elapsed) {
|
|
|
|
const seconds = elapsed % 60;
|
|
|
|
let minutes = Math.floor(elapsed / 60);
|
|
|
|
let hours = Math.floor(minutes / 60);
|
|
|
|
const days = Math.floor(hours / 24);
|
|
|
|
|
|
|
|
minutes = minutes % 60;
|
|
|
|
hours = hours % 24;
|
|
|
|
|
|
|
|
return `${days > 0 ? `${days}d` : ''}${hours > 0 ? `${hours}h` : ''}${minutes > 0 ? `${minutes}m` : ''}${seconds > 0 ? `${seconds}s` : ''}`;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2019-10-18 20:56:33 -04:00
|
|
|
export function durationForURL(elapsed) {
|
|
|
|
const seconds = elapsed % 60;
|
|
|
|
let minutes = Math.floor(elapsed / 60);
|
|
|
|
const hours = Math.floor(minutes / 60);
|
|
|
|
|
|
|
|
minutes = minutes % 60;
|
|
|
|
|
|
|
|
return `${hours > 0 ? `${hours}h` : ''}${minutes > 0 ? `${minutes}m` : ''}${seconds > 0 ? `${seconds}s` : ''}`;
|
2017-11-13 01:23:39 -05:00
|
|
|
}
|