js日期转换成字符串

JavaScript018

js日期转换成字符串,第1张

你好,js中Date类没有直接格式化的方法,所以需要自己写,你只需将下列代码在格式化前加入,即可使用。代码摘自http://www.jb51.net/article/22657.htm。使用方法如下:new Date().format('yyyyMMdd')

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 

}

var

dependedVal="2005-3-4"

//根据日期字符串转换成日期

var

regEx

=

new

RegExp("\\-","gi")

dependedVal=dependedVal.replace(regEx,"/")

//dependedVal=dependedVal.replace("\\-","/")//这样不行

alert(dependedVal)

//parse

需要

2005/3/4

这种格式!法克!

var

milliseconds=Date.parse(dependedVal)

alert(milliseconds)

var

dependedDate=new

Date()

dependedDate.setTime(milliseconds)

var

now

=

new

Date()

//注意括号,优先级问题,无奈

alert("相隔年数:"+(now.getFullYear()

-

dependedDate.getFullYear()))