用js如何判断表单所选日期在31天之内

Son_of_a_bitch 2016-01-29 12:25:28
我表单有两个时间栏,开始时间和截止时间。

用js获取表单时间值为yyyy-mm-dd的格式。

如何计算获取到的这个值只能与当前日期相差31天?

这个格式的时间相减,把值用alert弹出,是NaN。
...全文
469 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Son_of_a_bitch 2016-01-29
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
转成日期对象再运算
不需要考虑到年份吗。比如现在16年1月1日,想看15年12月1日的呢
slwsss 2016-01-29
  • 打赏
  • 举报
回复
转成日期对象再运算
Son_of_a_bitch 2016-01-29
  • 打赏
  • 举报
回复
我的谷歌浏览器可以将yyyy-mm-dd格式的字符串转换为时间对象,只不过默认时间为08:00:00。 IE浏览器将yyyy-mm-dd格式的字符串转换为时间对象,只不过默认时间为当前时分秒。 而将yyyy/mm/dd格式的字符串转换为时间对象,默认时间都为为00:00:00。
Son_of_a_bitch 2016-01-29
  • 打赏
  • 举报
回复
唉。果然是格式的问题,我把时间字符串中的 ’-’ 换成 ‘/’,然后转时间对象就可以了。 还有,因为两个日期字符串转为date对象后,都默认为当天的00:00:00,所以要计算开始日期和结束日期的天数的话还要加一天。
Son_of_a_bitch 2016-01-29
  • 打赏
  • 举报
回复
擦。到底怎么转换成时间对象...我转换成new Date() , 结果相减得出结果是0..... 百度了一下,说是浏览器转换时间对象不支持yyyy-mm-dd的格式转换,值支持yyyy/mm/dd的格式,是这个原因?
  • 打赏
  • 举报
回复
转换成Date() 然后通过.getTime()获取秒数 相减计算就行了
Son_of_a_bitch 2016-01-29
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
转成日期对象再运算
擦,我懂啥意思了。我试试
杨小事er 2016-01-29
  • 打赏
  • 举报
回复
把获取到的时间转化为数字,在与当前日期的日期对象做运算,然后在和30天比较

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧