我有一个DateTime的实例,我想将其格式化为字符串。我怎么做呢?我想把日期转换成一个字符串,类似于“2013-04-20”。


当前回答

 String dateConverter(String date) {
    // Input date Format
    final format = DateFormat("dd-MM-yyyy");
    DateTime gettingDate = format.parse(date);
    final DateFormat formatter = DateFormat('yyyy-MM-dd');
    // Output Date Format
    final String formatted = formatter.format(gettingDate);
    return date;
  }

其他回答

 String dateConverter(String date) {
    // Input date Format
    final format = DateFormat("dd-MM-yyyy");
    DateTime gettingDate = format.parse(date);
    final DateFormat formatter = DateFormat('yyyy-MM-dd');
    // Output Date Format
    final String formatted = formatter.format(gettingDate);
    return date;
  }

有一个包date_format

dependencies:
    date_format:

code

import 'package:date_format/date_format.dart';

final formattedStr = formatDate(
    yourDateTime, [dd, '.', mm, '.', yy, ' ', HH, ':', nn]);

// output example "29.03.19 07:00"

注意:分钟是nn

链接到软件包

如果有人想将字符串格式的日期转换为其他字符串格式,首先使用DateTime.parse("2019-09-30"),然后将其传递给DateFormat("date pattern").format()

dateFormate = DateFormat("dd-MM-yyyy").format(DateTime.parse("2019-09-30"));

参考:Dart -如何将简单的日期字符串格式从yyyy-MM-dd更改为dd-MM-yyyy

用“H:mm”来查看完整的分钟,比如13:08,而不是13:8


main() {
  final String pattern = 'yyyy-MM-dd';
  final String formatted = DateFormat(pattern).format(DateTime.now());
  print(formatted);
}

更改yyyy-MM-dd字符串可以更改日期格式。我用这个模式字符串做了一个应用程序。

你可以在我的应用程序中实验字符串格式。 https://biplobsd.github.io/EpochConverterApp

在这里你可以看到我如何编辑模式和这个效果显示在顶部