2012-02-23 83 views
0

我有一個日期字符串,它看起來像:如何只從JavaScript中的字符串中獲取特定的字符?

2月21日(星期二)11:30 - 13:30

我想輸出改爲向

02/21/2012 ...

我試着在數組中保存一些像'Mon','Tue'等字樣,並用「」替換它們。但它不工作,我不知道如何正確地做到這一點。

請幫幫我。

+0

輸出? – 2012-02-23 13:13:56

+1

除非您認爲2012年,否則無法從該字符串中有效獲得年份。 – 2012-02-23 13:14:32

+0

我需要幫助將「2月21日(星期二)11:30 - 13:30」轉換爲21/02 ... – saran 2012-02-23 13:17:35

回答

0

怎麼是這樣的:當年沒有在字符串中給出的上述

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 ... 
} 

通知。

0

嘗試類似這樣的事情。這將從字符串中刪除的時間,將解析結果日期爲日期對象:

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)

0

你可以使用像這樣的字符串操作:

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(); 
} 
0
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); 
相關問題