sanitizeToString method

  1. @override
String sanitizeToString()
override

Implementation

@override
String sanitizeToString() {
  final res = StringBuffer("${value.isNegative ? "-" : ""}P");
  final absDuration = value.abs();

  if (inWeeks) {
    final weeks = (absDuration.inDays / 7).floor();
    res.write("${weeks}W");
    return res.toString();
  }

  if (absDuration.inDays > 0) res.write("${absDuration.inDays}D");

  final hours = absDuration.inHours - (absDuration.inDays * 24);
  final minutes = absDuration.inMinutes - (absDuration.inHours * 60);
  final seconds = absDuration.inSeconds - (absDuration.inMinutes * 60);

  res.write("T${hours}H${minutes}M${seconds}S");

  return res.toString();
}