我有一个DateTime的实例,我想将其格式化为字符串。我怎么做呢?我想把日期转换成一个字符串,类似于“2013-04-20”。
当前回答
无依赖项方法[用于将日期显示为格式化字符串]
如果你想要以日/月/年的形式显示你的DateTime值或任何你喜欢的格式,字符串插值可以很方便:
"${_date.day} / ${_date.month} / ${_date.year}"
示例输出:
It's 23 out of 4 out of 1920
我不想使用任何额外的库,所以我走了这条路。
其他回答
可以使用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
用“H:mm”来查看完整的分钟,比如13:08,而不是13:8
处理年度季度,从字符串到日期时间,我没有找到合适的解决方案,所以做了这个:
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;
}
String formatDate(String date) {
return date.substring(0, 10).split('-').reversed.join().replaceAll('-', '/');
}
From format "yyyy-mm-dd H:i:s"
一个更简单的方法:
new DateFormat("dd-MM-y").format(YOUR_DATETIME_HERE)