飞镖-将时间从dd / MM / YYYY转换为YYYY-MM-dd

时间:2019-08-18 14:23:27

标签: datetime flutter dart

如何将日期从dd/MM/YYYY转换为YYYY-MM-dd

示例:从08/11/2019转换为2019-11-08

我尝试了以下代码,但得到了

  

无效的日期格式08/11/2019例外

import 'package:intl/intl.dart';

DateFormat('YYYY-MM-dd').format(DateTime.parse('08.11.2019'));

2 个答案:

答案 0 :(得分:3)

DateFormat inputFormat = DateFormat("dd/MM/yyyy");
DateTime dateTime = inputFormat.parse("18/08/2019");
DateFormat outputFormat = DateFormat("yyyy-MM-dd");
DateTime dateTime2 = outputFormat.parse(dateTime.toString()); // 2019-08-18

或者您可以使用String

String dateString = outputFormat.format(dateTime); // 2019-08-18

更新

DateFormat inputFormat = DateFormat("yyyy-MM-dd HH:mm:ss");
DateTime dateTime = inputFormat.parse("18-08-2019 20:59:59");
DateFormat outputFormat = DateFormat("HH:mm:ss");
String dateInString = outputFormat.format(dateTime); //  20:59:59

答案 1 :(得分:0)

尝试使用此软件包Jiffy。它的灵感来自momentjs

这可以在一行中解决

var dateTime = Jiffy("18/08/2019", "dd/MM/yyyy").format("yyyy-MM-dd"); // 2019-08-18

您也可以使用默认格式对其进行格式化

var dateTime = Jiffy("18/08/2019", "dd/MM/yyyy").yMMMMd; // August 18, 2019