我有一个DateTime的实例,我想将其格式化为字符串。我怎么做呢?我想把日期转换成一个字符串,类似于“2013-04-20”。


当前回答

String formatDate(String date) {
    return date.substring(0, 10).split('-').reversed.join().replaceAll('-', '/');
    
  }

From format "yyyy-mm-dd H:i:s"

其他回答

有一个包date_format

dependencies:
    date_format:

code

import 'package:date_format/date_format.dart';

final formattedStr = formatDate(
    yourDateTime, [dd, '.', mm, '.', yy, ' ', HH, ':', nn]);

// output example "29.03.19 07:00"

注意:分钟是nn

链接到软件包

一个更简单的方法:

new DateFormat("dd-MM-y").format(YOUR_DATETIME_HERE)

目前天:

DateTime.now().day, //something like 26

目前月:

DateTime.now().month, //something like 4

本年度:

DateTime.now().year, //something like 2022

目前Houre:

DateTime.now().hour, //something like 12

当前时间:

DateTime.now().minute, //something like 13

目前第二:

DateTime.now().second, //something like 44

设置你的项目intl包

dateTimeFormet (date){
   //MM-dd-yyyy
   //yyyy-MM-dd 
   return DateFormat('dd-MM-yyyy').format(date);// you can set your formet
}

void main (){
  var date = 01-11-2022 00 : 00
  var _datetime = dateTimeFormet(date);
  print(_dateTime);
}

如果不想添加另一个库,也可以使用此方法

  DateTime dateTime = DateTime.now();
  String YYYY_MM_DD = dateTime.toIso8601String().split('T').first;
  print(YYYY_MM_DD); //2020-11-23