首页 > 解决方案 > 为什么“日期格式无效”?

问题描述

我不明白为什么日期格式无效我格式化日期,因为我想在我的字段中显示它

_dr = formatDate(DateTime.fromMillisecondsSinceEpoch(Tools.birthDate),
    [dd, '.', mm, '.', yyyy]);

_birthDateController = new TextEditingController(text: _dr);

试图将其转换为日期

 _dateTime = DateTime.parse(_birthDateController.text);

标签: dart

解决方案


从您的共享代码中不清楚formatDate幕后执行的是什么方法。但是,为了有效地解析和格式化日期和时间,您可以使用intl包中的DateFormat

示例代码:

import 'package:intl/intl.dart';

main() {
  final date = DateTime.now();

  final dateFormat = 'dd.MM.yyyy';
  final formattedDate = DateFormat(dateFormat).format(date);
  print('formatted date: $formattedDate');

  final parseFormattedDate = DateFormat(dateFormat).parse(formattedDate).toIso8601String();
  print('parse formatted date: $parseFormattedDate');
}

输出:

formatted date: 18.09.2020
parse formatted_date: 2020-09-18T00:00:00.000

有关可用日期和时间格式的列表,请参阅该类的文档DateFormat


推荐阅读