Format uptimes (#3629)

* Format uptime

* 逆だわ

* ザ

* 1個多い

* Fix comment
This commit is contained in:
MeiMei 2018-12-16 07:06:43 +09:00 committed by syuilo
parent ffb80efe21
commit 2faa58928f
2 changed files with 30 additions and 4 deletions

View file

@ -0,0 +1,25 @@
/**
* Format like the uptime command
*/
export default function(sec) {
if (!sec) return sec;
const day = Math.floor(sec / 86400);
const tod = sec % 86400;
// Days part in string: 2 days, 1 day, null
const d = day >= 2 ? `${day} days` : day >= 1 ? `${day} day` : null;
// Time part in string: 1 sec, 1 min, 1:01
const t
= tod < 60 ? `${Math.floor(tod)} sec`
: tod < 3600 ? `${Math.floor(tod / 60)} min`
: `${Math.floor(tod / 60 / 60)}:${Math.floor((tod / 60) % 60).toString().padStart(2, "0")}`;
let str = '';
if (d) str += `${d}, `;
str += t;
return str;
}

View file

@ -1,13 +1,14 @@
<template>
<div class="uptimes">
<p>Uptimes</p>
<p>Process: {{ process ? process.toFixed(0) : '---' }}s</p>
<p>OS: {{ os ? os.toFixed(0) : '---' }}s</p>
<p>Process: {{ process }}</p>
<p>OS: {{ os }}</p>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import formatUptime from '../../scripts/format-uptime';
export default Vue.extend({
props: ['connection'],
@ -25,8 +26,8 @@ export default Vue.extend({
},
methods: {
onStats(stats) {
this.process = stats.process_uptime;
this.os = stats.os_uptime;
this.process = formatUptime(stats.process_uptime);
this.os = formatUptime(stats.os_uptime);
}
}
});