我有一个DateTime的实例,我想将其格式化为字符串。我怎么做呢?我想把日期转换成一个字符串,类似于“2013-04-20”。
当前回答
String formatDate(String date) {
return date.substring(0, 10).split('-').reversed.join().replaceAll('-', '/');
}
From format "yyyy-mm-dd H:i:s"
其他回答
处理年度季度,从字符串到日期时间,我没有找到合适的解决方案,所以做了这个:
List<String> dateAsList = 'Q1 2001'.split(' ');
DateTime dateTime = DateTime.now();
String quarter = dateAsList[0];
int year = int.parse(dateAsList[1]);
switch(quarter) {
case "Q1": dateTime = DateTime(year, 1);
break;
case "Q2": dateTime = DateTime(year, 4);
break;
case "Q3": dateTime = DateTime(year, 7);
break;
case "Q4": dateTime = DateTime(year, 10);
break;
}
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
在这里你可以看到我如何编辑模式和这个效果显示在顶部
如果不想添加另一个库,也可以使用此方法
DateTime dateTime = DateTime.now();
String YYYY_MM_DD = dateTime.toIso8601String().split('T').first;
print(YYYY_MM_DD); //2020-11-23
您还可以像前面所述的那样指定日期格式:https://pub.dev/documentation/intl/latest/intl/DateFormat-class.html
import 'package:intl/intl.dart';
String formatDate(DateTime date) => new DateFormat("MMMM d").format(date);
出品时间:3月4日
可以使用intl包格式化flutter中的日期。
void main() {
final DateTime now = DateTime.now();
final DateFormat format = DateFormat('yyyy-MM-dd');
final String formatted = format.format(now);
// 2021-03-02
}
或者可以使用date_format包来格式化flutter中的日期。
import 'package:date_format/date_format.dart';
final formattedStr = formatDate(DateTime.now(), [dd, '-', mm, '-', yyyy]);
//02-03-2021