前端js如何判断一个时间戳在某个时间段内?

问题描述

举个例子. 我通过时间选择器获取到了开始时间和结束时间的时间段的时间戳.但是如果这个时间戳超出了三个月 就会报错. 请问有什么方法可以准确判断呢?

你期待的结果是什么?实际看到的错误信息又是什么?

包括各种特殊情况:
比如2018年的12月到2019年的2月份这类跨年的

谢谢

阅读 8.2k
4 个回答

操作时间的可以用momentjs

比自己写的靠谱些。

比如有了起始时间,要获取三个月之后的时间戳可以这么写:

const start = 1551369600000;

moment(start).add(3, 'months').valueOf();

想知道原理建议看源码。

超出90天?
相减一下判断是否大于90*24*60*60*1000

简单点就如一楼说的判断90天就可以了,精细点就用月去判断

var s = new Date('2018-12-05')
var e = new Date('2019-03-06')
s.setMonth(s.getMonth() + 3) < e; // true

如果选择的时间不包括时分秒的话

s = new Date('2018-12-05')
e = new Date('2019-03-06')
(e.getYear()-s.getYear())*12+(e.getMonth()-s.getMonth()) < 3 || ((e.getYear()-s.getYear())*12+(e.getMonth()-s.getMonth()) === 3 && e.getDate() < s.getDate())
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题