Async and Practical
Format DateTime with padLeft
Formatting a DateTime without the intl package means pulling out each field, converting to text, and padding short values. padLeft(2, '0') keeps single-digit months and days at width 2 so the label stays aligned.
Program
Play the program to build a label like 2024-07-04 09:05 UTC by padding each field.
datetime_format.dart
void main() {
var d = DateTime.utc(2024, 7, 4, 9, 5);
var year = d.year.toString();
var month = d.month.toString().padLeft(2, '0');
var day = d.day.toString().padLeft(2, '0');
var hour = d.hour.toString().padLeft(2, '0');
var minute = d.minute.toString().padLeft(2, '0');
var label = '$year-$month-$day $hour:$minute UTC';
print(label);
}
toString
Numeric fields like `d.month` are `int`; `.toString()` converts them to text first.
padLeft
`padLeft(2, '0')` pads a one-digit value like `7` to `07`, keeping the format fixed-width.
interpolation
A single template string composes the final label from year, padded month/day, and padded hour:minute.