共有如下几种情况:
1、开始日期小于结束日期
2、两个日期相等,天数为0,之间没有日期
3、开始日期小于结束日期,天数为0,之间没有日期
<b>PS</b>:唯一的坑就是new Date()月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。
getTime() :返回从 1970 年 1 月 1 日至今的毫秒数。
getDate():返回日期,一个月中的某一天
setDate():设置日期,一个月中的某一天
思路:都转化成时间的格式,然后比较。具体的代码:
function comptime() {
var beginTime = "2010-1-9 8:00:00"
var endTime = "2010-1-13 13:41:52"
var beginTimes = beginTime.substring(0, 10).split('-')
var endTimes = endTime.substring(0, 10).split('-')
beginTime = beginTimes[1] + '-' + beginTimes[2] + '-' + beginTimes[0] + ' ' + beginTime.substring(10, 19)
endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19)
alert(beginTime + "aaa" + endTime)
alert(Date.parse(endTime))
alert(Date.parse(beginTime))
var a = (Date.parse(endTime) - Date.parse(beginTime)) / 3600 / 1000
if (a <0) {
alert("endTime小!")
} else if (a >0) {
alert("endTime大!")
} else if (a == 0) {
alert("时间相等!")
} else {
return 'exception'
}
}
在js中,可以对两个时间戳进行相减,使用if语句判断结果,从而实现时间戳的比较。具体步骤如下:
1、在test.html文件内,命名为test.html,用于讲解js时间戳怎么比较。
2、在test.html文件内,在js标签内创建一个pan()函数,函数有两个参数,分别st1,st2。
3、在pan()函数内,分别将两个时间使用new Date()转换为时间对象,保存在t1,t2变量中。
4、在pan()函数内,将两个时间对象分别利用getTime()方法转换为时间戳,分别保存在变量tt1,tt2变量中。
5、在pan()函数内,将两个时间戳相减,差值保存在res变量中。
6、在pan()函数内,使用if语句对res进行判断,如果res等于0,提示“两个时间相等”,如果res大于0,提示“t1时间大于t2时间”,如果不符合上面两种情况,则提示“t2时间大于t1时间”。
7、在pan()函数外,创建两个时间变量,并调用pan()函数进行判断。
8、在浏览器打开test.html文件,查看判断的结果。