Flutter如何将数字转换为月日时分秒格式
在Flutter开发中,如何将时间戳或数字格式(例如1634567890)转换为易读的"月-日 时:分:秒"格式(如"10-20 14:38:10")?是否有内置方法或推荐的三方库可以实现这种转换?需要同时考虑时区处理和24小时制显示。
2 回复
在 Flutter 中,可以使用 DateFormat 类将数字(时间戳)转换为月日时分秒格式。以下是具体步骤和代码示例:
-
添加依赖:在
pubspec.yaml中添加intl包:dependencies: intl: ^0.18.1 -
导入包:
import 'package:intl/intl.dart'; -
转换代码:
// 假设时间戳为毫秒级(如 1692345600000) int timestamp = 1692345600000; // 创建日期对象 DateTime date = DateTime.fromMillisecondsSinceEpoch(timestamp); // 定义格式并转换 String formattedDate = DateFormat('MM-dd HH:mm:ss').format(date); print(formattedDate); // 输出示例:08-18 00:00:00
说明:
MM:月份(两位数)dd:日期(两位数)HH:24小时制小时mm:分钟ss:秒钟
如果时间戳是秒级,先用 DateTime.fromMillisecondsSinceEpoch(timestamp * 1000) 转换。


