I am getting date in string like this 2023-01-25T00:37:00.000Z
I try to parse like this DateFormat("dd-MM-y").parse(data.matchScheduleDateTime)
but its showing wrong date and time.
If I try like this dateFormat.parse("2023-01-25T00:37:00.000Z")
its showing format exception
CodePudding user response:
You need to parse it using DateTime
and convert it using DateFormat
:
var oldDate = DateTime.parse('2023-01-25T00:37:00.000Z');
var newDate = DateFormat('MM/dd/yyyy hh:mm a').format(oldDate);
print(newDate); // 01/25/2023 12:37 AM
CodePudding user response:
You can use DateFormat
like this:
var date = '2023-01-25T00:37:00.000Z';
var parsedDate = DateFormat('yyyy-MM-ddTHH:mm:ss').parse(date);
var finalDate = DateFormat("MMM dd").format(parsedDate);
var finalTime = DateFormat.jm().format(parsedDate);
var allDate = DateFormat("MMM dd hh:mm a").format(parsedDate);
print("finalDate = $finalDate"); // Jan 25
print("finalTime = $finalTime"); // 12:37 AM
print("allDate = $allDate"); // Jan 25 12:37 AM
CodePudding user response:
import 'package:intl/intl.dart';
String dateTimeString = "data.matchScheduleDateTime";
// Parse the date time string using the "dd-MM-y" format
var dateTime = DateFormat("dd-MM-y").parse(dateTimeString);
// Format the date part using the "dd-MM-y" format
var dateFormat = DateFormat("dd-MM-y").format(dateTime);
// Format the time part using the "jm" format (j for 12-hour format and m for minutes)
var timeFormat = DateFormat("jm").format(dateTime);
// Format the am/pm part
var amPmFormat = DateFormat("a").format(dateTime);
print("Date: $dateFormat Time: $timeFormat $amPmFormat");