flutter – unable to convert string date in Format yyyyMMddHHmmss to DateTime dart

flutter – unable to convert string date in Format yyyyMMddHHmmss to DateTime dart

DateTime.parse(string date here) accept some formatted string only. Check below examples of accepted strings.

  • 2012-02-27 13:27:00
  • 2012-02-27 13:27:00.123456789z
  • 2012-02-27 13:27:00,123456789z
  • 20120227 13:27:00
  • 20120227T132700
  • 20120227
  • +20120227
  • 2012-02-27T14Z
  • 2012-02-27T14+00:00
  • -123450101 00:00:00 Z: in the year -12345.
  • 2002-02-27T14:00:00-0500: Same as 2002-02-27T19:00:00Z

=> String to DateTime

DateTime tempDate = new DateFormat(yyyy-MM-dd hh:mm:ss).parse(savedDateString);

=> DateTime to String

String date = DateFormat(yyyy-MM-dd hh:mm:ss).format(DateTime.now());

Reference links:

intl DateFormat cant cope with your input string as it doesnt have any separators. The whole string gets consumed as the year. However DateTime.parse does cope with this (nearly). It happens to expect precisely the format you have (again, nearly).

One of the acceptable styles to parse is 20120227T132700, which just differs by the T date/time separator.

Try this:

String date = 20180626170555;
String dateWithT = date.substring(0, 8) + T + date.substring(8);
DateTime dateTime = DateTime.parse(dateWithT);

flutter – unable to convert string date in Format yyyyMMddHHmmss to DateTime dart

You can use DateFormat to parse a DateTime from string to an object

// With en_US locale by default
var newDateTimeObj = new DateFormat().add_yMd().add_Hms().parse(7/10/1996 10:07:23)
// with a defined format
var newDateTimeObj2 = new DateFormat(dd/MM/yyyy HH:mm:ss).parse(10/02/2000 15:13:09)

Check the doc here.

Leave a Reply

Your email address will not be published. Required fields are marked *