Это Длительность ISO 8601 дана в формате P [n] Y [n] M [n] DT [n] H [n] M [n] S
Примеры:
20 секунд:
PT20.0S
Один год, 3 месяца, 3 дня, 4 часа, 5 минут, 10 секунд:
P1Y3M3DT4H5M10S
К сожалению, дротик не дает парсеру API Продолжительность класса
Таким образом, вы должны проанализировать свой собственный и ввести в Duration и преобразовать в Datatime
Можно попробовать Матч-класс
String durationString = "P2Y5M3W4DT5H4M2S";
String regxPattern= "^P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+S)?)?\$";
print(regxPattern);
RegExp re = new RegExp(regxPattern);
if (re.hasMatch(durationString)) {
for (var m in re.allMatches(durationString)) {
print("total:"+m.group(0));
print("Y:"+m.group(1));
print("M:"+m.group(2));
print("W:"+m.group(3));
print("D:"+m.group(4));
print("Time:"+m.group(5));
print("H:"+m.group(6));
print("M:"+m.group(7));
print("S:"+m.group(8));
Duration fastestMarathon = new Duration(hours:m.group(6),
minutes:m.group(7),
second,m.group(8));
}
}