📌  相关文章
📜  将 iso 日期字符串转换为日期和时间字符串颤振 - Dart (1)

📅  最后修改于: 2023-12-03 15:09:31.593000             🧑  作者: Mango

将 ISO 日期字符串转换为日期和时间字符串 - Dart

在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日期字符串转换为我们所需要的日期和时间字符串。