怎么在JavaScript的正则表达式环境下,把英文日期替换YYYY-MM-DD格式?

比如把March5,2013和December17,1997替换为2013-03-05和1997-12-17。1.执行替换的语法怎么写;2.有没有办法让March和Dec... 比如 把 March 5, 2013 和 December 17, 1997 替换为 2013-03-05 和 1997-12-17。

1. 执行替换的语法怎么写;
2. 有没有办法让 March 和 December 对应 03 和 12,而不用写12行替换;
3. 怎么判断让 March 5 的 5 补零?
展开
 我来答
yugi111
2014-03-27 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
var arr = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var str = "January 25, 2014";
var mon = str.match(/[a-zA-Z]+/)[0];
var temp = arr.join(",").split(mon + ",")[0].match(/,/g);
var len = !!temp ? temp.length + 1 : 1;
str = str.replace(mon, len)
         .replace(/\s*(\d+)\s+(\d+)\s*,\s*(\d+)\s*/,"$3-$1-$2")
         .replace(/\-(\d)\b/g,"-0$1");
console.log(str);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
愚人陈
2014-03-27 · TA获得超过713个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:180万
展开全部
//用Date做吧,少年...

Date.prototype.toMyString=function(){
with(this){
var y=getFullYear(),m=getMonth()+1,d=getDate();
m=m.setW(2); d=d.setW(2);
return y +'-'+ m +'-'+ d;
}
}
Number.prototype.setW=function(W){
var n=this.toString();
W-=n.length;
while(W-->0)n='0'+n;
return n;
}
var s1='March 5, 2013',s2='December 17, 1997';
var t;
t=new Date(s1);
alert(t.toMyString());
t=new Date(s2);
alert(t.toMyString());
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cb3f95b
2014-04-02 · 超过26用户采纳过TA的回答
知道答主
回答量:111
采纳率:100%
帮助的人:38.1万
展开全部
new Date("March 5, 2013").getDate()

如果March 5 小于10 就前边补0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式