0 0

急救,如很用javascript将dwr返回的Date型数据转换成yyyy-MM-dd?谢谢5

如很用javascript将dwr返回的Date型数据转换成yyyy-MM-dd?
在数据库里的显示是2008-08-08  当通过dwr返回给页面的时候,用javascript的toLocalDateString(),就变成了2008年8月8日,请问如何在页面中也显示成 2008-08-08
问题补充:
直接取出来 变成 Mon Jan 23 00:00:00 UTC+0800 1984 这样了的类型
DWR 
2008年8月05日 14:22

4个答案 按时间排序 按投票排序

0 0

采纳的答案

可以使用正则表达式来进行格式化,如:

//将日期转换为本地格式。
var strDate=new Date().toLocaleString();
//将字符串形式的日期进行格式化。
var value=strDate.replace(/[年]|[月]/g,"-").replace(/[日]/g,"");
alert("格式化之前的日期为:"+strDate+"\n格式化之后的日期为:"+value);

2008年8月05日 15:53
0 0

// 对Date的扩展,将 Date 转化为指定格式的String 
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
// 例子: 
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 
Date.prototype.Format = function(fmt) 
{ //author: meizz 
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; 
} 

2008年8月05日 16:55
0 0

DWRUtil.ConvertDateTostr=function(date){
	if(typeof date=="string"){
		return date;
	}
	if(date==null||date=="")
	return null;
	var y=date.getYear();
	if(y<10) y="0"+y;
	var m=date.getMonth()+1;
	if(m<10) m="0"+m;
	var d=date.getDate();
	if(d<10) d="0"+d;
	var redate=y+"-"+m+"-"+d;
	return redate;
}


这是我自己写的一个简单的方法。
希望能帮的上忙

2008年8月05日 15:25
0 0

取出来直接使用不就是原来的格式吗?你为什么非要toLocalString一下

2008年8月05日 14:34

相关推荐

Global site tag (gtag.js) - Google Analytics