var str ="20110725";
var dd = str.substring(6);
var mm = str.substring(4,2);
var yyyy = str.substring(0,3);
alert(dd);//25
alert(mm);//11
alert(yyyy);//2011
除了上述輸出,我預計「25」爲日期,「07」爲月份,「2011」爲年份。請糾正我。爲什麼子串方法以這種方式表現?
var str ="20110725";
var dd = str.substring(6);
var mm = str.substring(4,2);
var yyyy = str.substring(0,3);
alert(dd);//25
alert(mm);//11
alert(yyyy);//2011
除了上述輸出,我預計「25」爲日期,「07」爲月份,「2011」爲年份。請糾正我。爲什麼子串方法以這種方式表現?
我想你想要substr()
而不是substring()
。他們不同。
沒有太大的區別。除了閱讀起來會有點困難。 –
@約瑟夫:他們遠不一樣;看到這裏:http://stackoverflow.com/questions/3745515/what-is-the-difference-between-substr-and-substring – Reid
我知道他們是不同的......我沒有否認......但他們是類似的:substr(startPosition,endPosition)substring(startPosition,length)。我每天都使用這些。在這種情況下,substr很難閱讀,因爲不是(4,2)的月份(兩個字符的長度),它將是(4,6)(位置4和6)。這很難閱讀imo和非直觀。 –
你應該有
var mm = str.substring(4, 6);
相反的:
var mm = str.substring(4, 2)
務必:
var mm = str.substring(4, 6)
第二個參數是「最多但不包括」值,所以它應該是「6」,而不是「5」。 –
糟糕,這是我的錯誤。感謝您的高舉。 –
試試這個。你的年份也需要4,而不是3。
var str ="20110725";
var dd = str.substr(6);
var mm = str.substr(4,2);
var yyyy = str.substr(0,4);
alert(dd);//25
alert(mm);//11
alert(yyyy);//2011
所以,現在你有一個新問題 - 你應該接受一個答案,並創建一個新的月曆[業務]的stackoverflow問題。我知道答案 - 但我不想渾濁這些水域。謝謝。 – jimbojw