我用这个变量从DateTime.now();中提取时间
DateTime.now();
DateTime date = DateTime.now(); String time = "${date.hour}:${date.minute}:${date.second}";
问题是,如果时间是01:09:32,那么我得到的时间是1:9:32。如何使用常规格式获取时间?我可以用if-else来做这件事,但我确信还有更好的方法
wvmv3b1j1#
您可以尝试使用DateFormat,只需将intl依赖项包含到pubspec.yaml中即可
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
flvtvl502#
如果你有,在你的UtilityMixin中创建这个函数,否则你也可以在你的类中创建它
String getTimeFromDateAndTime(String date) { DateTime dateTime; try { dateTime = DateTime.parse(date).toLocal(); return DateFormat.jm().format(dateTime).toString(); //5:08 PM // String formattedTime = DateFormat.Hms().format(now); // String formattedTime = DateFormat.Hm().format(now); // //17:08 force 24 hour time } catch (e) { return date; } }
//在你的类中
getTimeFromDateAndTime("Pass date in string here")
yzuktlbb3#
您可以提取它,也可以使用TimeofDay对象,方法如下:
TimeOfDay.fromDateTime(DateTime.now());
3条答案
按热度按时间wvmv3b1j1#
您可以尝试使用DateFormat,只需将intl依赖项包含到pubspec.yaml中即可
根据您的需求,您可以查看DateFormat
从DateFormat-class中获取的一些示例可以帮助您更多。
flvtvl502#
如果你有,在你的UtilityMixin中创建这个函数,否则你也可以在你的类中创建它
//在你的类中
yzuktlbb3#
您可以提取它,也可以使用TimeofDay对象,方法如下: