如何将时间戳字符串转换为毫秒整数

ssd*_*ign 2 dart flutter

我正在使用秒表计时器插件(https://pub.dev/packages/stop_watch_timer)该插件以“字符串”的形式给出经过的时间。所以我的文字看起来像:

00:00:03.45 // hours:minutes:seconds.milliseconds
Run Code Online (Sandbox Code Playgroud)

现在我需要使用这个时间信息来计算游戏中的得分。你知道我如何将此字符串转换为毫秒整数,以便我可以用它进行数学计算吗?

我的逻辑是将所用时间乘以另一个值来确定分数。用户花费的时间越多,得分就越高(差)。

任何帮助表示赞赏。谢谢

Rob*_*erg 6

我会像这样使用 DateFormat:

final timeStr = '00:00:03.45';
final format = DateFormat('HH:mm:ss.S');
final dt = format.parse(timeStr, true);
print(dt.millisecondsSinceEpoch);
Run Code Online (Sandbox Code Playgroud)

这将打印:

3045
Run Code Online (Sandbox Code Playgroud)

注意:需要导入 intl 包:

import 'package:intl/intl.dart';
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,但显然不够干净:) (2认同)