Flutter:从时间格式中删除前导零
Flutter: Remove leading zeros from time format
我收到一个格式为 'HH:mm:ss'
的字符串,我需要去掉前导零或将其转换为 minutes/hours。有没有 RegExp
来实现这个?
没有前导零的示例:
00:03:15 => 3:15
10:10:10 => 10:10:10
00:00:00 => 0:00
04:00:00 => 4:00:00
00:42:32 => 42:32
00:00:18 => 0:18
00:00:08 => 0:08
时间转换为minutes/hours
的例子
00:07:00 => 7 min
00:10:30 => 10:30 min
01:40:00 => 1h 40 min
尝试以下方法
将 intl 包添加到您的 pubspec.yaml 文件。
import 'package:intl/intl.dart';
DateFormat dateFormat = DateFormat("HH:mm");
将 DateTime 对象转换为字符串
DateTime yourDate = DateTime.now());
String string = dateFormat.format(yourDate);
也可以试试这个
DateTime yourDate = DateTime.now();
String string = new DateFormat.Hm().format(yourDate); // force 24 hour time
更新
要将字符串解析为日期,您可以使用此
DateFormat df = DateFormat('HH:mm:ss');
DateTime dt = df.parse('00:07:00');
String string = DateFormat.Hm().format(dt);
参考资料
看起来在这一点上只使用格式字符串中的单个字符(例如,M
而不是 MM
)处理前导零的 trim:
之前:
// Output: 01/01/2021, 02:41 PM
static final dateFormatLeadingZeros = new DateFormat('MM/dd/yyyy, hh:mm a');
之后:
// Output: 1/1/2021, 2:41 PM
static final dateFormatTrimmed = new DateFormat('M/d/yyyy, h:mm a');
我收到一个格式为 'HH:mm:ss'
的字符串,我需要去掉前导零或将其转换为 minutes/hours。有没有 RegExp
来实现这个?
没有前导零的示例:
00:03:15 => 3:15
10:10:10 => 10:10:10
00:00:00 => 0:00
04:00:00 => 4:00:00
00:42:32 => 42:32
00:00:18 => 0:18
00:00:08 => 0:08
时间转换为minutes/hours
的例子00:07:00 => 7 min
00:10:30 => 10:30 min
01:40:00 => 1h 40 min
尝试以下方法
将 intl 包添加到您的 pubspec.yaml 文件。
import 'package:intl/intl.dart';
DateFormat dateFormat = DateFormat("HH:mm");
将 DateTime 对象转换为字符串
DateTime yourDate = DateTime.now());
String string = dateFormat.format(yourDate);
也可以试试这个
DateTime yourDate = DateTime.now();
String string = new DateFormat.Hm().format(yourDate); // force 24 hour time
更新
要将字符串解析为日期,您可以使用此
DateFormat df = DateFormat('HH:mm:ss');
DateTime dt = df.parse('00:07:00');
String string = DateFormat.Hm().format(dt);
参考资料
看起来在这一点上只使用格式字符串中的单个字符(例如,M
而不是 MM
)处理前导零的 trim:
之前:
// Output: 01/01/2021, 02:41 PM
static final dateFormatLeadingZeros = new DateFormat('MM/dd/yyyy, hh:mm a');
之后:
// Output: 1/1/2021, 2:41 PM
static final dateFormatTrimmed = new DateFormat('M/d/yyyy, h:mm a');