2012-11-27 36 views
3

提取時間我都在像這樣格式的字符串:「上午07時18分」從字符串

我想什麼,能夠做的是提取「718」(沒有冒號之間)和「上午」分成兩個單獨的變量。

我試圖做這樣的事情,但它只是返回的第一個整數 - 在這種情況下,要做到這一點的7

var time = parseInt("7:18") 

會是怎樣的最好方法?

回答

2
var str = "7:18 am".split(" "), 
    time = parseInt(str[0].replace(":", ""), 10), 
    ampm = str[1]; 

console.log(time, ampm); // 718 "am" 
+0

這看起來像它會工作。在你的輸出中,你把'am'放在引號中 - 這只是爲了表明它的數據類型是一個字符串? – joshft91

+0

@ joshft91是的,絕對如此。 – VisioN

3

一種方法是分裂,然後你想要的值拼接:

var timeAm = "7:18 am".split(' '); // ["7:18", "am"] 
var hourMin = timeAm[0].split(':'); // ["7", "18"] 
var time = parseInt(hourMin.join(''), 10); // 718 
1
var str = "7:18 am"; 
var ampm = str.split(" ")[1]; 
var time = str.split(" ")[0].split(":").join(""); 
console.log(ampm+" "+time);