Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

183
Vistas
Days between two dates - typescript

I need to calculate the difference in days between two dates.

In the end I need to know if a certain date has expired.

But I can't come up with a solution.

the expiredAt field, is of type datetime

Service.ts

import CheckLicenses from "../../helpers/CheckLicenses";
await CheckLicenses("valor");

CheckLicenses.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;
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

As @Athul Joy suggested you should use Moment.js.

First install moment from npm using npm i moment.

Import moment:

import moment from 'moment';

At your else condition:

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);
over 4 years ago · Santiago Trujillo Denunciar

0

What about trying Moment.js (https://momentjs.com/). Momen.js provides predefined functions to compare dates

over 4 years ago · Santiago Trujillo Denunciar

0

I believe the problem is that you are comparing a string type with a date type. If you convert "expiredAt" to date then it will work

if (new Date(expiredAt) <= today) throw new AppError("EXPIRED", 401);

enter image description here

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda