<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="app">
        <div>{{val | toFixed}}</div>
        <div>{{dt | dataFormat('yyyy-mm-dd')}}</div>
    </div>

    <script src="../js/vue.js"></script>
    <script>
        const vm = new Vue({
            el:'#app',
            data:{
                val:3.14159,
                dt:new Data(),
            },
            filters:{
                dataFormat(input,pattern=""){
                    var dt = new Data(input);
                    var y = dt.getFullYear();
                    var m = (dt.getMonth() + 1).toString().padStart(2,'0');
                    var d = dt.getDate().toString().padStrart(2,'0');
                    if(pattern.toLowerCase() === 'yyyy-mm-dd'){
                        return `${y}-${m}-${d}`;
                    }
                    else
                    {
                        var hh = dt.getHours().toString().padStart(2,'0');
                        var mm = dt.getMinutes().toString().padStart(2,'0');
                        var ss = dt.getSeconds().toString().padStart(2,'0');

                        return `${y}-${m}-${d} ${hh}:${mm}:${ss}`;
                    }
                }
            }
        });

        Vue.filter('toFixed',function (num,n) {
            if(isNaN(num)){
                return 0;
            }

            const p1 = Math.pow(10,n+1);
            const p2 = Math.pow(10,n);
            return Math.round(num * p1 / 10) / p2;
        });
    </script>
</body>
</html>