X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Futils%2Fdatetime.js;h=5addd255554a3fd365aaed01e0c254422a2afdcd;hb=dac395887d96e2d642b209c6db6aaacc3ffacb34;hp=3075bffc91aac9151f65e6ba18bf8e6f879fea23;hpb=8d61fc4ab7373b4a576f3f9108cdf7768ae27096;p=vchess.git diff --git a/client/src/utils/datetime.js b/client/src/utils/datetime.js index 3075bffc..5addd255 100644 --- a/client/src/utils/datetime.js +++ b/client/src/utils/datetime.js @@ -1,15 +1,47 @@ function zeroPad(x) { - return (x<10 ? "0" : "") + x; + return (x<10 ? "0" : "") + x; } export function getDate(d) { - return d.getFullYear() + '-' + zeroPad(d.getMonth()+1) + '-' + zeroPad(d.getDate()); + return d.getFullYear() + '-' + zeroPad(d.getMonth()+1) + '-' + zeroPad(d.getDate()); } export function getTime(d) { - return zeroPad(d.getHours()) + ":" + zeroPad(d.getMinutes()) + ":" + - zeroPad(d.getSeconds()); + return zeroPad(d.getHours()) + ":" + zeroPad(d.getMinutes()) + ":" + + zeroPad(d.getSeconds()); +} + +function padDigits(x) +{ + if (x < 10) + return "0" + x; + return x; +} + +export function ppt(t) +{ + // "Pretty print" an amount of time given in seconds + const dayInSeconds = 60 * 60 * 24; + const hourInSeconds = 60 * 60; + const days = Math.floor(t / dayInSeconds); + const hours = Math.floor(t%dayInSeconds / hourInSeconds); + const minutes = Math.floor(t%hourInSeconds / 60); + const seconds = Math.floor(t % 60); + let res = ""; + if (days > 0) + res += days + "d "; + if (days <= 3 && hours > 0) //NOTE: 3 is arbitrary + res += hours + "h "; + if (days == 0 && minutes > 0) + res += (hours > 0 ? padDigits(minutes) + "m " : minutes + ":"); + if (days == 0 && hours == 0) + { + res += padDigits(seconds); + if (minutes == 0) + res += "s"; //seconds indicator, since this is the only number printed + } + return res.trim(); //remove potential last space }