js中格式化日期时间型数据函数代码如下:
例如:
现有一字符串为:
var dt="2010-1-1 12:20:20"
第一步:将其转换成日期时间型数据
var newDt=new Date(dt.replace("-","/"))第二步:格式化数据成"yyyy-MM-dd"
(1)扩展Date
Date.prototype.format = function(format){var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length))
}
for(var k in o) {
if(new RegExp("("+ k +")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length))
}
}
return format
}
(2)使用format格式化时间
var fmtDt=newDt.format("yyyy-MM-dd")var date = new Date()var y = date.getFullYear()
var m = date.getMonth()+1
var d = date.getDate()
var h = date.getHours()
var minutes = date.getMinutes()
var s = date.getSeconds()
var strDate = y+"-"+m+"-"+d+" "+h+":"+minutes+":"+s
alert(strDate)
date也可以是不是现在时间的其他时间,只要是Date类型就行,用字符串连接成需要的格式。
你为啥不直接在数据库中计算时间差就好了,在JS中计算问题很多,因为JS时间是取的本地电脑时间,如果本地电脑时间不准那就直接显示错误了,当然如果一定要在JS中计算那转成JS的时间就可以算了,具体参照网页链接