我有一个日期字符串,它看起来像:如何只从JavaScript中的字符串中获取特定的字符?
2月21日(星期二)11:30 - 13:30
我想输出改为向
02/21/2012 ...
我试着在数组中保存一些像'Mon','Tue'等字样,并用“”替换它们。但它不工作,我不知道如何正确地做到这一点。
请帮帮我。
我有一个日期字符串,它看起来像:如何只从JavaScript中的字符串中获取特定的字符?
2月21日(星期二)11:30 - 13:30
我想输出改为向
02/21/2012 ...
我试着在数组中保存一些像'Mon','Tue'等字样,并用“”替换它们。但它不工作,我不知道如何正确地做到这一点。
请帮帮我。
怎么是这样的:当年没有在字符串中给出的上述
var str="Feb 21 (Tue) 11:30 - 13:30";
return str.subStr(4,2) + "/" + convertToNum(str.subStr(0,3)) + "/2012";
function convertToNum(monthName) {
... convert month name to number ...
}
通知。
尝试类似这样的事情。这将从字符串中删除的时间,将解析结果日期为日期对象:
var date = "Feb 21 (Tue) 11:30 - 13:30";
var newdate = date.replace(/ [0-9]{2}:[0-9]{2} - [0-9]{2}:[0-9]{2}/g, "");
var d = Date.parse(newdate);
var mydate = new Date(d);
document.write(mydate.getDate()+"/"+(mydate.getMonth()+1));
端线显示了如何得到它的格式dd/mm
。 (注意在javascript日期格式中,月份从0开始,而不是1。即1月是0,2月是1 - 不要问,我不知道!大声笑...只记得+1)
你可以使用像这样的字符串操作:
function formatDateString(input){
var m = /^(\w{3})\s(\d+).*$/.exec(input);
return ({"Jan":"01","Feb":"02","Mar":"03","Apr":"04","May":"05","Jun":"06","Jul":"07","Aug":"08","Sep":"09","Oct":"10","Nov":"11","Dec":"12"})[m[1]] + "/" + m[2] + "/" + (new Date().getFullYear());
}
或者你可以重新格式化字符串并使用Date对象来解析它。从什么
function formatDateString(input){
var a = new Date(input.substr(0, 6) + " " + new Date().getFullYear());
return ("0" + (a.getMonth()+1)).slice(-2) + "/" + ("0" + a.getDate()).slice(-2) + "/" + a.getFullYear();
}
function convert(datestr, year){
var split1 = datestr.split("(");
var split2 = split1[1].split(")");
var fulldate = new Date(split1[0] + year);
var date = fulldate.getDate();
var month = fulldate.getMonth();
return ((date < 10)?"0"+date:date) + "/" + ((month < 10)?"0"+month:month) + split2[1];
}
var datestr = "Feb 21 (Tue) 11:30 - 13:30";
convert(datestr, 2012);
输出? – 2012-02-23 13:13:56
除非您认为2012年,否则无法从该字符串中有效获得年份。 – 2012-02-23 13:14:32
我需要帮助将“2月21日(星期二)11:30 - 13:30”转换为21/02 ... – saran 2012-02-23 13:17:35