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
Moment format returning 'invalid date'

I have the following:

const input: string = '2021-11-2T10:20:00+01:00';

const date: string = moment( input ).format('YYYY-MM-DD');
const time: string = moment( input ).format('HH:mm');

Please can someone tell me why I get 'invalid date' returned for both 'date' and 'time'?

From what I understand the 'input' string is a standard date format (moment gave me this format).

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Take care about leading zeros (required by RFC2822/ISO format). You can validate date string using Date constructor:

new Date('2021-11-2T10:20:00+01:00') // Invalid Date (because of date = '2' instead of '02')
new Date('2021-11-02T10:20:00+01:00') // Tue Nov 02 2021 11:20:00 GMT+020 (works fine!)

Same for moment instances:

moment('2021-11-2T10:20:00+01:00') // invalid (error or deprecation warning depends on 'moment' version)
moment('2021-11-02T10:20:00+01:00') // valid

UPD: article about standarts with useful links

about 4 years ago · Juan Pablo Isaza Denunciar

0

What you are using is known as timestamptz. There's an error. So timestamptz is in the following format:

YYYY-MM-DDThh:mm:ssZZ

You are missing a "0" in your day:

2021-11-02T10:20:00+01:00

Then you can just do:

const fullDate = moment('2021-11-02T10:20:00+01:00')
const date = moment( input ).format('YYYY-MM-DD')
const time = moment( input ).format('HH:mm')

Notice i removed : string. You don't need to define the typing btw. It can be infered.

about 4 years ago · Juan Pablo Isaza Denunciar

0

The input string I was using was somehow not valid. When I used "2021-11-02T14:43:59+00:00" it works fine.

about 4 years ago · Juan Pablo Isaza 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