如何在flutter中更改日期和时间格式?

w8rqjzmb  于 2023-01-27  发布在  Flutter
关注(0)|答案(2)|浏览(156)

你好吗?
我的后端只接受此格式的日期和时间2019 - 03 - 24 11:00:00
我在我的应用程序中使用日历小部件获取日期,它以这种格式打印日期2019 - 04 - 24 12:00:00.000Z,我使用此代码获取时间

TimeOfDay _time = new TimeOfDay.now();

  Future<Null> _selecTime(BuildContext context) async {
    final TimeOfDay picked = await showTimePicker(
      context: context,
      initialTime: _time,
    );
    if (picked != null && picked != _time) {
      print('${_time.toString()}');
      setState(() {
        _time = picked;
      });
    }
  }

我得到了这个时间(07:37)
那么我怎么能得到像这样的日期格式2019 - 04 - 24和像这样的时间11:00:00,我会处理它
谢谢

gpnt7bae

gpnt7bae1#

您可以使用intl包
下面是一个例子:

import 'package:intl/intl.dart';

main() {
  var now = new DateTime.now();
  var dateFormat = new DateFormat('yyyy-MM-dd HH:mm:ss');
  String formattedDate = dateFormat.format(now);
  print(formattedDate); // 2019-04-28 09:02:29
}
z31licg0

z31licg02#

您可以在不使用任何第三方软件包的情况下仅通过扩展来完成此任务。

void main() {
  DateTime now = DateTime.now();
  print(now.getTime24());
}

extension ExtractTime on DateTime {
  
  String getTime24() => "$year-${month.addZero()}-${day.addZero()} ${hour.addZero()}:${minute.addZero()}:${second.addZero()}";
}
extension AddZero on int {
  
  String addZero() => "${"$this".length==1?'0$this':this}";
}

相关问题