为什么我的substr在javascript中无法正常工作?

时间:2015-10-01 11:10:56

标签: javascript jquery

我写了以下代码:

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/

2 个答案:

答案 0 :(得分:2)

From MDN substr()

  

str.substr(start[, length])

     

参数

     

start

     

开始提取字符的位置。如果是负数   给出,它被视为strLength + start,其中strLength是   字符串的长度(例如,如果start为-3,则将其视为   strLength - 3。)

     

length可选。

     

要提取的字符数。

对于substr,第二个参数是要提取的字符串的长度,而不是结束位置。所以你应该使用3作为第二个参数。另请查看使用索引的substring()

答案 1 :(得分:2)

substr()方法从指定位置的字符开始提取字符串的一部分,并返回指定数量的字符。

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