有没有办法检查日期是否少于1小时?
这样的事情:
<script>
// old date
var olddate = new Date("February 9, 2012, 12:15");
// current date
var currentdate = new Date();
if (olddate >= currentdate - 1 hour) {
alert("newer than 1 hour");
else {
alert("older than 1 hour");
}
</script>
另外,不同的问题是 - 有没有办法增加约会时间?
像这样:
<script>
var olddate = new Date("February 9, 2012, 12:15") + 15 HOURS; // output: February 10, 2012, 3:15
</script>
答案 0 :(得分:129)
定义
var ONE_HOUR = 60 * 60 * 1000; /* ms */
然后你可以做
((new Date) - myDate) < ONE_HOUR
要从约会时间开始一小时,请尝试
new Date(myDate.getTime() + ONE_HOUR)
答案 1 :(得分:21)
使用一些ES6语法:
const lessThanOneHourAgo = (date) => {
const HOUR = 1000 * 60 * 60;
const anHourAgo = Date.now() - HOUR;
return date > anHourAgo;
}
使用Moment库:
const lessThanOneHourAgo = (date) => {
return moment(date).isAfter(moment().subtract(1, 'hours'));
}
答案 2 :(得分:9)
moment library可以真正帮助表达这一点。诀窍是采取日期,增加时间,看看它现在之前或之后:
lastSeenAgoLabel: function() {
var d = this.lastLogin();
if (! moment(d).isValid()) return 'danger'; // danger if not a date.
if (moment(d).add(10, 'minutes').isBefore(/*now*/)) return 'danger'; // danger if older than 10 mins
if (moment(d).add(5, 'minutes').isBefore(/*now*/)) return 'warning'; // warning if older than 5mins
return 'success'; // Looks good!
},
答案 3 :(得分:2)
//for adding hours to a date
Date.prototype.addHours= function(hrs){
this.setHours(this.getHours()+hrs);
return this;
}
这样调用函数:
//test alert(new Date().addHours(4));
答案 4 :(得分:0)
在这种情况下,使用时间会容易得多,您可以尝试以下方法:
let hours = moment().diff(moment(yourDateString), 'hours');
它将为您提供1,2,5,0等整数值,因此您可以轻松使用条件检查,如:
if(hours < 1) {
另外,还有一件事是您可以使用以下语法获得更精确的时间差结果(以小数形式表示,如1.2、1.5、0.7等)
let hours = moment().diff(moment(yourDateString), 'hours', true);
让我知道您是否还有任何疑问
答案 5 :(得分:0)
您可以执行以下操作:
var date = new Date("2020-07-12 11:30:10");
var now = new Date();
var diffInMS = now - date;
var msInHour = Math.floor(diffInMS/1000/60);
if (msInHour < 60) {
console.log('Within hour');
} else {
console.log('Not within the hour');
}
答案 6 :(得分:-1)
//试试这个: //比较两个日期:
<Script Language=Javascript>
function CompareDates()
{
var str1 = document.getElementById("Fromdate").value;
var str2 = document.getElementById("Todate").value;
var dt1 = parseInt(str1.substring(0,2),10);
var mon1 = parseInt(str1.substring(3,5),10);
var yr1 = parseInt(str1.substring(6,10),10);
var dt2 = parseInt(str2.substring(0,2),10);
var mon2 = parseInt(str2.substring(3,5),10);
var yr2 = parseInt(str2.substring(6,10),10);
var date1 = new Date(yr1, mon1, dt1);
var date2 = new Date(yr2, mon2, dt2);
if(date2 < date1)
{
alert("To date cannot be greater than from date");
return false;
}
else
{
alert("Submitting ...");
}
}
</Script>
希望它会工作4你...