mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-08 23:18:16 -07:00
Init repo
This commit is contained in:
commit
764b6034e3
566 changed files with 212335 additions and 0 deletions
28
lib/util/humanize_duration.dart
Normal file
28
lib/util/humanize_duration.dart
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import 'package:collection/collection.dart';
|
||||
|
||||
extension DurationExtensions on Duration? {
|
||||
String? get humanize {
|
||||
if (this == null) return null;
|
||||
final duration = this!;
|
||||
final hours = duration.inHours != 0 ? '${duration.inHours.toString()}h' : null;
|
||||
final minutes = duration.inMinutes % 60 != 0 ? '${duration.inMinutes % 60}m'.padLeft(3, '0') : null;
|
||||
final seconds = duration.inHours == 0 ? '${duration.inSeconds % 60}s'.padLeft(3, '0') : null;
|
||||
final result = [hours, minutes, seconds].whereNotNull().map((e) => e).join(' ');
|
||||
return result.isNotEmpty ? result : null;
|
||||
}
|
||||
|
||||
String? get humanizeSmall {
|
||||
if (this == null) return null;
|
||||
final duration = this!;
|
||||
final hours = (duration.inHours != 0 ? duration.inHours : null)?.toString();
|
||||
final minutes = (duration.inMinutes % 60).toString().padLeft(2, '0');
|
||||
final seconds = (duration.inHours == 0 ? duration.inSeconds % 60 : null)?.toString().padLeft(2, '0');
|
||||
|
||||
final result = [hours, minutes, seconds].whereNotNull().map((e) => e).join(':');
|
||||
return result.isNotEmpty ? result : null;
|
||||
}
|
||||
|
||||
String get simpleTime {
|
||||
return toString().split('.').first.padLeft(8, "0");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue