📅  最后修改于: 2023-12-03 15:09:31.593000             🧑  作者: Mango
在Dart中,我们可以通过DateTime类将ISO日期字符串转换为日期和时间字符串。
void main() {
String isoDateStr = "2022-02-14T10:30:00.000Z";
DateTime dateTime = DateTime.parse(isoDateStr);
String formattedDate = "${dateTime.year}-${dateTime.month.toString().padLeft(2,'0')}-${dateTime.day.toString().padLeft(2,'0')}";
String formattedTime = "${dateTime.hour.toString().padLeft(2,'0')}:${dateTime.minute.toString().padLeft(2,'0')}:${dateTime.second.toString().padLeft(2,'0')}";
String formattedDateTimeStr = "$formattedDate $formattedTime";
print(formattedDateTimeStr);
}
以上代码将ISO日期字符串"2022-02-14T10:30:00.000Z"转换为日期和时间字符串"2022-02-14 10:30:00"。
首先,我们定义了一个ISO日期字符串。
String isoDateStr = "2022-02-14T10:30:00.000Z";
然后,我们使用DateTime类中的parse方法将ISO日期字符串转换为DateTime对象。
DateTime dateTime = DateTime.parse(isoDateStr);
接下来,我们将DateTime对象中的年、月、日、小时、分钟和秒分别提取出来,并将它们格式化成我们所需要的日期和时间字符串格式。
String formattedDate = "${dateTime.year}-${dateTime.month.toString().padLeft(2,'0')}-${dateTime.day.toString().padLeft(2,'0')}";
String formattedTime = "${dateTime.hour.toString().padLeft(2,'0')}:${dateTime.minute.toString().padLeft(2,'0')}:${dateTime.second.toString().padLeft(2,'0')}";
最后,我们将日期字符串和时间字符串拼接在一起,得到我们所需要的日期和时间字符串。
String formattedDateTimeStr = "$formattedDate $formattedTime";
通过使用DateTime类中的parse方法和字符串格式化技巧,我们可以轻松地将ISO日期字符串转换为我们所需要的日期和时间字符串。