JS日期格式的转换

JavaScript012

JS日期格式的转换,第1张

1. 将日期转换为指定的格式:比如转换成 年月日时分秒 这种格式:yyyy-MM-dd hh:mm:ss 或者 yyyy-MM-dd。当然是网上的方法,只是总结下。

可以为Date原型添加如下的方法:

Date.prototype.format = function(fmt) {

var o = {

"M+" : this.getMonth()+1, //月份

"d+" : this.getDate(),//日

"h+" : this.getHours(), //小时

"m+" : this.getMinutes(), //分

"s+" : this.getSeconds(), //秒

"q+" : Math.floor((this.getMonth()+3)/3), //季度

"S" : this.getMilliseconds() //毫秒

}

if(/(y+)/.test(fmt)) {

fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length))

}

for(var k in o) {

if(new RegExp("("+ k +")").test(fmt)){

fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)))

}

}

return fmt

}

比如我们可以这样调用下:

var time1 = new Date().format("yyyy-MM-dd hh:mm:ss")

console.log(time1)

JS中分割字符串为字符串数组:strArr = str.split("-")

JS中合并字符串数组为字符串:str = strArr.join("-")

你的问题的解决办法:

先分割日期:

var strArr = str.split("-")

//strArr[0] = 年

//strArr[1] = 月

//strArr[2] = 日

由此可知,对于第一种情况,我们修改年份即可:

strArr[0] = "2008"

对于第二种情况,我们修改月份:

strArr[1] = "05"

最后,将修改好的合并成新的日期:

str = strArr.join("-")

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<script>标签,输入js代码:

var a = '2006-10-01 12:00:05'

var date = new Date(a.replace(/-/g, '/'))

document.body.innerText = date

3、浏览器运行index.html页面,此时成功打印出了被转化为日期的数据。