以new Date()
和setHours
获取当前日期到0, 0, 0
,然后您准备与输入日期进行比较,这是yyyy-MM-dd
格式中的字符串
export const isLessThanToday = (input: string): boolean => { //format of input date is YYYY-MM-DD
const today = new Date();
today.setHours(0, 0, 0);
return notEmpty(input) && new Date(input) < today;
};
测试我们可以使用以下开玩笑的测试:
describe('isLessThanToday > ', () => {
test.each([
[null, false],
[undefined, false],
['AXON', false],
['1900-01-01', true],
['2099-12-12', false], // TODO change this date when in 2099 :)
[new Date().toISOString().slice(0, 10), false], //today
[new Date(new Date().setDate(new Date().getDate() - 1)).toISOString().slice(0, 10), true], //yesterday
[new Date(new Date().setDate(new Date().getDate() - 7)).toISOString().slice(0, 10), true], //one week ago
])('given input date %p, it should return %p', (input, expected) => {
expect(isLessThanToday(input)).toEqual(expected);
});
});
请参阅此How to use jest test.each function 了解test.each
函数的用法
与Codever的âtlivation。使用ðcopy to mine功能将其添加到您的个人片段集合中。
codever 是Githubâð
的开源