我有这个变量来从DateTime.now();中提取时间

DateTime date = DateTime.now();
String time = "${date.hour}:${date.minute}:${date.second}";

问题是,如果时间是01:09:32,我得到的时间是1:9:32.

我怎么才能拿到常规格式的时间呢?

我可以用if else做到这一点,但我相信有更好的方法

推荐答案

您可以try 使用DateFormat,只需在pubspec.yaml中包含intl个依赖项

import 'package:intl/intl.dart';

DateTime now = DateTime.now();
String formattedTime = DateFormat.Hms().format(now);
print(formattedTime);

根据你的要求,你可以看DateFormat

摘自DateFormat-class中的一些示例可以为您提供更多帮助.

String formattedTime = DateFormat.jm().format(now);           //5:08 PM
String formattedTime = DateFormat.Hm().format(now);           //17:08  force 24 hour time

Dart相关问答推荐

AppLifcycleState.didChangeLifecycleState( ) 函数在应用程序进入前台或后台时不被调用

zsh:找不到命令:pub

Flutter Expansion Tile -- 标题 colored颜色 变化和尾随动画箭头 colored颜色 变化

在`lib`文件夹中使用`src`子文件夹有什么好处吗

Flutter:合并两张图片,作为单张图片存储在本地存储中

如何在 Dart 中创建一个空 Set

Flutter 如何移动文件

如何通过 foreach 函数避免在 dart Map 中使用 await 键

属性 'docs' 不能无条件访问,因为接收到的可能是 'null' Flutter

Flutter插件和Flutter模块之间有什么区别?

如何在Dart中创建空Map

dart的Completer和Future?

找到两个数字中larger/smaller的方法是什么

如何在 Dart 中创建我们自己的metadata元数据?

Dart:打印整数和字符串

如何提高数据与二进制数据转换的 Dart 性能?

如何在 Dart 中逐个字符地迭代字符串?

必须初始化不可为空的实例字段

如何在 Dart 中创建私有变量?

如何用 Dart 格式化日期?