Home > OS >  Change this "2022-07-26T12:10:07.000 0000" format to DateTime with 12 hrs format? Flutter
Change this "2022-07-26T12:10:07.000 0000" format to DateTime with 12 hrs format? Flutter

Time:07-27

How i can extract the Time alone in this format "2022-07-26T12:10:07.000 0000" and show in 12hrs.

The output i am supposed to get is "5:40 PM", but i am getting 12.10 AM.

How to get exact time in the above mentioned format?

This is the method i followed to parse the DateTime.

 String getTimeStringNew(String date) {
 DateFormat dateFormat = DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS SSSS");
 var dateValue = dateFormat.parse(date);
 DateFormat dateFormat1 = DateFormat("hh:mm a");
 var value = dateFormat1.format(dateValue);
 return value;}

 

In this method i am getting "12:10 AM".

But correct time is "5.40 PM".

What is the mistake i am doing here. Please correct.

CodePudding user response:

2022-07-26T12:10:07.000 0000

Here 2022 is year

07 is month

26 is day

12 is hour

10 is minutes

07 is seconds.

So you will get 12.10 only

Maybe you are recieving the time in UTC.

You can use .toLocal to convert it to local time

var dateLocal = dateUtc.toLocal();

Edit

String getTimeStringNew(String date) {
 DateTime _localDate = DateTime.parse(date).toLocal();

 DateFormat dateFormat = DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS SSSS");
 var dateValue = dateFormat.format(_localDate);
 DateFormat dateFormat1 = DateFormat("hh:mm a");
 var value = dateFormat1.format(_localDate);
 return value;}
  • Related