<分区>
在 Dart/Flutter 中,我如何重新格式化、转换或提取此字符串中的日期和时间?该字符串来 self 的 MySQL 数据库中的默认时间戳;
2021-08-11T11:38:09.000Z
所以我需要的是这样的东西;
2021-08-11 11:38
我在想也许是这样的;
final String? shortime = timestamp?.replaceAll(RegExp(''), '') ?? '';
但我不确定使用什么作为正则表达式。
<分区>
在 Dart/Flutter 中,我如何重新格式化、转换或提取此字符串中的日期和时间?该字符串来 self 的 MySQL 数据库中的默认时间戳;
2021-08-11T11:38:09.000Z
所以我需要的是这样的东西;
2021-08-11 11:38
我在想也许是这样的;
final String? shortime = timestamp?.replaceAll(RegExp(''), '') ?? '';
但我不确定使用什么作为正则表达式。
最佳答案
由于 DateTime.parse
支持提供的时间戳,您可以这样做:
void main() {
final dateTime = DateTime.parse('2021-08-11T11:38:09.000Z');
print(convertDateTimeToString(dateTime)); // 2021-08-11 11:38
}
String convertDateTimeToString(DateTime dt) => '${dt.year}-'
'${dt.month.toString().padLeft(2, '0')}-'
'${dt.day.toString().padLeft(2, '0')} '
'${dt.hour.toString().padLeft(2, '0')}:'
'${dt.minute.toString().padLeft(2, '0')}';
或者,您可以使用类似 intl
的包它支持使用格式化模式格式化 DateTime
:
import 'package:intl/intl.dart';
void main() {
final dateTime = DateTime.parse('2021-08-11T11:38:09.000Z');
final format = DateFormat('yyyy-MM-dd HH:mm');
print(format.format(dateTime)); // 2021-08-11 11:38
}
关于mysql - Flutter/Dart 只提取日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68754357/