首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取两个日期之间的数据

如何获取两个日期之间的数据
EN

Stack Overflow用户
提问于 2019-08-19 14:05:37
回答 4查看 81关注 0票数 0

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

我试着使用,例如:

代码语言:javascript
复制
date1 >= '1-28-2019' && date2 <= '2-8-2019'

它总是显示错误的结果。

代码语言:javascript
复制
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和本年度的数据。但是它给出了错误的结果,我的代码中有什么问题吗?

感谢您回答这个问题。

EN

回答 4

Stack Overflow用户

发布于 2019-08-19 14:18:57

使用slice

代码语言:javascript
复制
    function leadingZero(str, len = 2) {
        return (new Array(len).fill(0).join('') + str).slice(-len);
    }
    let combine = leadingZero(month) + '-' + leadingZero(date);
    // 0128 for `1-28`, 0208 for `2-8`

使用Number

代码语言:javascript
复制
    let combine = month * 100 + day;
    // 128 for `1-28` 208 for `2-8`
票数 1
EN

Stack Overflow用户

发布于 2019-08-19 14:30:59

请查看MDN

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

代码语言:javascript
复制
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);

票数 1
EN

Stack Overflow用户

发布于 2019-08-19 14:15:41

从字符串date创建一个date对象,并对它们进行比较。

代码语言:javascript
复制
date1 >= new Date(2019, 0, 28) && date2 <= new Date(2019, 1, 8)

正如David784所说,多日期构造函数之一是 Date (year,monthIndex,day)。根据MDN doc,monthIndex从0 (一月)11 (十二月)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57551202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档