关于JS函数parseInt()解释

阅读更多

  最近在做项目时遇到一个问题,场景是这样的,页面中有个日期选择控件,每次选择一个时间做为下载的截止时间,所选时间不能小于上次下载时间,也不能超过上次下载时间的24小时。

  我的做法是,在打开页面时先去库里按时间倒序一下下载记录,拿到最后一次的下载时间,放到request中,页面拿到这个时间后进行解析,这里说明一下,我使用的日历控件是My97DatePicker, 这个控件可以很方便的设置时间选择范围,但设置的值必须是yyyy-MM-dd HH:mm:ss的形式,这样就需要把request中得到的日期解析出来,拆成字符串数组[year,month,date,hour,minute,second] ,再将date+1,得到1天后的日期,但在parseInt(date)的时候出现个小问题,1到7解析都很好,但到8以后就只能返回0,造成日期解析出错,后查资料得出以下结果,以供参考:


  parseInt语法:parseInt(string, radix);
  其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。
  在默认不指定radix时,当string以0x开头时,为十六进制;如果以0开头且第二位不为x,则认为是八进制,(因为八进制没有8以上的数字,所以报错返回0)。
  所以,在我们用时还是明确指定进位制,以防出错。

 

  另外还有一种解决方法,就是把string直接转成Number,至于想用哪种方法就看兄弟们的偏好啦。

 

  顺便说一下,My97DatePicker是我见过的最好的日历控件了,API很全面,希望各位也能喜欢。

 

 

你可能感兴趣的:(parseint)