You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中解析DateTime.now()为hh:mm:ss格式报错,求正确实现方法

问题解决:正确获取hh:mm:ss格式的时间

你的错误根源是搞反了DateFormat的parse和format方法的用途:

  • parse是将符合指定格式的字符串转换为DateTime对象
  • format是将DateTime对象转换为指定格式的字符串

你用hh:mm:ss格式去解析DateTime.now().toString()生成的完整日期时间字符串(比如2022-12-05 15:40:34.987),格式完全不匹配,所以抛出了FormatException。

正确代码(12小时制)

import 'package:intl/intl.dart';

void main() {
  var now = DateTime.now();
  DateFormat timeFormat = DateFormat('hh:mm:ss');
  String currentTime = timeFormat.format(now);
  print(currentTime); // 输出示例:03:40:34
}

24小时制版本

如果需要24小时制的时间,把格式字符串改成HH:mm:ss即可:

import 'package:intl/intl.dart';

void main() {
  var now = DateTime.now();
  DateFormat timeFormat = DateFormat('HH:mm:ss');
  String currentTime = timeFormat.format(now);
  print(currentTime); // 输出示例:15:40:34
}

内容的提问来源于stack exchange,提问作者coolhack7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 21:30:47