js中datetime类型

JavaScript014

js中datetime类型,第1张

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的时间就可以算了,具体参照网页链接