diff --git a/lib/modules/meeting/views/meeting_home_view.dart b/lib/modules/meeting/views/meeting_home_view.dart index bf9cf58e4..36c5d610e 100644 --- a/lib/modules/meeting/views/meeting_home_view.dart +++ b/lib/modules/meeting/views/meeting_home_view.dart @@ -513,9 +513,11 @@ class _MeetingHomeViewState extends State } String _formatHms(int seconds) { - int h = seconds ~/ 3600; - int m = (seconds % 3600) ~/ 60; - int s = seconds % 60; + final sec = seconds < 0 ? 0 : seconds; // 确保秒数非负 + final d = Duration(seconds: sec); + final h = d.inHours; + final m = d.inMinutes.remainder(60); + final s = d.inSeconds.remainder(60); String twoDigits(int n) => n.toString().padLeft(2, '0'); return '${twoDigits(h)}:${twoDigits(m)}:${twoDigits(s)}'; } diff --git a/lib/modules/translation/middleware/views/translation_middleware_view.dart b/lib/modules/translation/middleware/views/translation_middleware_view.dart index 678efb2d5..9e1de5067 100644 --- a/lib/modules/translation/middleware/views/translation_middleware_view.dart +++ b/lib/modules/translation/middleware/views/translation_middleware_view.dart @@ -212,9 +212,11 @@ class TranslationMiddlewareView } String _formatHms(int seconds) { - int h = seconds ~/ 3600; - int m = (seconds % 3600) ~/ 60; - int s = seconds % 60; + final sec = seconds < 0 ? 0 : seconds; // 确保秒数非负 + final d = Duration(seconds: sec); + final h = d.inHours; + final m = d.inMinutes.remainder(60); + final s = d.inSeconds.remainder(60); String twoDigits(int n) => n.toString().padLeft(2, '0'); return '${twoDigits(h)}:${twoDigits(m)}:${twoDigits(s)}'; }