在js日历控件中如何把月和日小于10的自动在前面添加0

JavaScript017

在js日历控件中如何把月和日小于10的自动在前面添加0,第1张

自定义过滤器

{{a| xxx}}

Vue.filter('xxx',function(aa){

return aa<10?'0'+aa:''+aa

})

xxx是过滤器的名字

aa 是过滤的那个数据

如果那个数据小于10,则在他前面添加一个0

比如

过滤数据是 9

过滤后变成 09

我用的是vue,逻辑就是这样

String.prototype.replaceAll = function(s1,s2){

return this.replace(new RegExp(s1,"gm"),s2)

}

function isIF(str){

return ((str <10) ? "0" : "") + str

}

function parseDate(str){

//alert(str)

if(typeof str == 'string'){

var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/)

if(results &&results.length>3)

return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]))

results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/)

if(results &&results.length>6)

return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]))

results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/)

if(results &&results.length>7)

return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7]))

}

return null

}

/*

将Date/String类型,解析为String类型.

传入String类型,则先解析为Date类型

不正确的Date,返回 ''

如果时间部分为0,则忽略,只返回日期部分.

*/

function formatDate(v){

v = v.replaceAll("/","-")

if(typeof v == 'string') v = parseDate(v)

if(v instanceof Date){

var y = v.getFullYear()

var m = v.getMonth() + 1

m = isIF(m)

var d = v.getDate()

d = isIF(d)

var h = v.getHours()

h = isIF(h)

var i = v.getMinutes()

i = isIF(i)

var s = v.getSeconds()

var ms = v.getMilliseconds()

if(ms>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms

if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s

return y + '-' + m + '-' + d

}

return ''

}

alert(formatDate("2009-5-1"))

加判断呗。代码如下:

LeaveDays=Math.floor(LeaveTime/(1000*60*60*24))//天

LeaveHours=Math.floor(LeaveTime/(1000*60*60)%24)//时

LeaveMinutes=Math.floor(LeaveTime/(1000*60)%60)//分

LeaveSeconds=Math.floor(LeaveTime/1000%60)//秒

if(parseInt(LeaveDays)<10){

LeaveDays="0"+LeaveDays

}

后面的几个和这个类似,你试试,希望可以帮到你.