我需要计算两个日期之间的天数差。
最后我需要知道某个日期是否已经到期。
但我想不出解决办法。
字段的类型为datetime
服务ts
import CheckLicenses from "../../helpers/CheckLicenses";
await CheckLicenses("valor");
检查许可证。ts
import License from "../models/License";
import AppError from "../errors/AppError";
import { logger } from "../utils/logger";
const CheckLicenses = async (company: string): Promise<boolean> => {
const license = await License.findOne({
where: { company }
});
if (!license) {
throw new AppError("ERR_NO_LICENCE_FOUND", 404);
} else {
const { expiredAt } = license;
const today = new Date();
if (expiredAt <= today) throw new AppError("EXPIRED", 401);
}
return true;
};
export default CheckLicenses;
我认为问题在于,您正在比较字符串类型和日期类型。如果你将“expiredAt”转换为date,那么它就可以工作了
if (new Date(expiredAt) <= today) throw new AppError("EXPIRED", 401);
正如@Athul Joy所建议的,你应该利用这个时刻。js。
第一次从npm安装时刻使用npm i时刻
。
导入时刻:
import moment from 'moment';
在你的情况下:
const expiredMoment = moment(expiredAt); //Cast as moment date
const currentMoment = moment(); //current moment date
if (currentMoment.diff(expiredMoment, 'days') > 0) throw new AppError("EXPIRED", 401);
试试Moment.js(https://momentjs.com/)怎么样omen.js提供了预定义的函数来比较日期
问题内容: 查看两个日期之间有多少整天的最短方法是什么?这就是我现在正在做的。 问题答案: 假设您确实有两个日期对象,则可以从另一个对象中减去一个,然后查询结果对象的天数: 它也适用于日期时间-我认为它会四舍五入到最近的日期:
问题内容: 我想比较我的Android应用程序的两个日期,但是遇到了一个非常奇怪的问题。 例如: 如果我将日期设置为127天之前: 然后将其与当前日期(两天之间)进行比较 它将返回22,这根本不是预期的结果。 我做错什么了吗?还是班上有问题? 问题答案: 请参考此代码,这可能会对您有所帮助。
问题内容: 如何使用PHP查找两个日期之间的天数? 问题答案:
我有两次约会。一个是以YYYYMMDD格式从其他应用程序的表中检索的,第二个日期是本地时间,我需要这两个日期之间的天数/月/年。 我试过了 但这给了我一些乱七八糟的数字。 变量$t=Fri Dec31 00:00:00 9999 变量$今天=Wed Feb19 14:40:55 2020 产出:25182094888 有什么想法吗?提前谢谢。
问题内容: 我编写了以下代码来查找两个日期之间的日期 当开始日期和结束日期分别是2/3/2017和3/3/2017时,显示的天数是29.尽管它们是同一天,但显示的是1.(请假的天数。如果请假一天,他必须选择相同的开始日期和结束日期。因此,在这种情况下,他请了两天假。 我究竟做错了什么?感谢您的时间。 注意:请不要使用日期构造函数。检查下面接受的答案。使用simpledateformat或Joda时
问题内容: 我想得到两个Java Date对象之间的区别。我使用了Joda-Time库。但是问题是我得到的天数差异大于实际的天数差异。 这是我的代码段: 这是我的输出: 在这里,为什么将“ 06/22/2010”设为1月22日?有人遇到类似的问题吗? 帮我朋友..提前感谢.. 问题答案: 月份是MM 在您的情况下: DateFormat formatter = new SimpleDateForm