2015-10-01 52 views
-2

我寫了下面的代碼:爲什麼我的substr在JavaScript中無法正常工作?

var serverTime ="October 01, 2015 18:39:21 +0900"; 
var timezone = serverTime.substr(serverTime.length-5,serverTime.length-1); 
alert(timezone); 

,我想顯示+09,但是在返回我得到完整的字符串0900。爲什麼我的substr函數不能返回正確的值?

http://jsfiddle.net/8ej2kwte/

+0

使用'substring'爲'serverTime.substring(serverTime.length-5,serverTime.length-2);'檢查更新http://jsfiddle.net/tusharj/8ej2kwte/1/ – Tushar

+1

簡單的答案。 ..第二個參數是長度 –

+0

正如Jaromanda X所說,在提出與特定函數有關的問題之前,建議[知道它的語法](https://developer.mozilla.org/en-US/docs/Web/JavaScript的/參考/ Global_Objects /字符串/ SUBSTR)。 – Armfoot

回答

2

substr()方法從指定位置的字符開始提取字符串的部分,並返回指定數量的字符。

var serverTime ="October 01, 2015 18:39:21 +0900"; 
var timezone = serverTime.substr(serverTime.length-5,3); 
alert(timezone); 
2

From MDN substr()

str.substr(start[, length])

參數

start

位置處開始提取字符。如果負數 給出,它被當作strLength +地方開始strLength是 長度的字符串(例如,如果開始爲-3它被視爲 strLength - 3)

length可選。

要提取的字符數。

對於substr,第二個參數是要提取的字符串的長度,而不是結束位置。所以你應該使用3作爲第二個參數。也看看使用索引的substring()

相關問題