首页 > 解决方案 > 如何获取两个日期之间的数据

问题描述

当我想在日期之间获取数据时,我有一些情况。我想在日期之间返回数据,它总是给我错误的结果。

我尝试使用,例如:

date1 >= '1-28-2019' && date2 <= '2-8-2019'

它总是显示错误的结果。

let created_on = new Date(task['created-on'])
let month = created_on.getMonth() + 1 
let date = created_on.getDate()
let year = created_on.getFullYear()
let date_now = new Date()
let year_now = date_now.getFullYear()

let combine = month + '-' + date

console.log(combine >= '1-28' && combine <= '2-8' && year_now == year)

我想从日期 1-28 到日期 2-8 和今年获取数据。但它给出了错误的结果,我的代码有什么问题吗?

谢谢你回答这个问题。

标签: javascriptjquerylaravel

解决方案


请查看MDN

new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);

let task = { 'created-on': new Date(2019, 1, 6) };
let created_on = new Date(task['created-on'])
let month = created_on.getMonth(); // Use index
let date = created_on.getDate()
let year = created_on.getFullYear()
let date_now = new Date()
let year_now = date_now.getFullYear()

// let combine = month + '-' + date

let startDate = new Date(year_now, 0, 28); // 0 - Jan
let endDate = new Date(year_now, 1, 8); // 1 - Feb

// direct compare with `created_on`
console.log(created_on >= startDate && created_on <= endDate); // year will be same if comparison is `true`

// compare with constructed date
let combine = new Date(year, month, date);
console.log(combine >= startDate && combine <= endDate);


推荐阅读