Search code examples
javascriptdate-fns

Parse and format date in string


I'm trying out date-fns v2.

I want to format a date in a string by using the toDate and format functions:

import { format, toDate } from 'date-fns'
format(toDate('2019-02-11T14:00:00'), 'MM/dd/yyyy')

But get the following error:

RangeError: Invalid time value


Solution

  • It seems that you are using Version 2.0 of date-fns, which is still in alpha (development) status currently.

    What functions are available and how they work still seems to change frequently. For example, while in version v2.0.0-alpha.26 toDate() can handle string parameters, it cannot do that any longer in version v2.0.0-alpha.27. There is a new parseISO() function instead.

    This should work now:

    format(parseISO('2019-02-11T14:00:00'), 'MM/dd/yyyy')
    

    However, while version 2 is still in beta, I would suggest using the stable version 1.x for now.