Метод toIso8601String
String toIso8601String(Возвращает представление в полном формате ISO-8601 расширенного формата.
Формат — yyyy-MM-ddTHH:mm:ss.mmmuuuZ для UTC-времени и yyyy-MM-ddTHH:mm:ss.mmmuuu (без конечного "Z") для локального/не-UTC времени, где:
-
yyyy— возможно отрицательное четырёхзначное представление года, если год находится в диапазоне от -9999 до 9999, в противном случае — шестизначное представление года со знаком. -
MM— месяц в диапазоне от 01 до 12, -
dd— день месяца в диапазоне от 01 до 31, -
HH— часы в диапазоне от 00 до 23, -
mm— минуты в диапазоне от 00 до 59, -
ss— секунды в диапазоне от 00 до 59 (без високосных секунд), -
mmm— миллисекунды в диапазоне от 000 до 999, и -
uuu— микросекунды в диапазоне от 001 до 999. Если микросекунда равна 0, эта часть опускается.
Полученная строка может быть обработана обратно с помощью parse.
Исходный код
String toIso8601String() {
String y =
(year >= -9999 && year <= 9999) ? _fourDigits(year) : _sixDigits(year);
String m = _twoDigits(month);
String d = _twoDigits(day);
String h = _twoDigits(hour);
String min = _twoDigits(minute);
String sec = _twoDigits(second);
String ms = _threeDigits(millisecond);
String us = microsecond == 0 ? "" : _threeDigits(microsecond);
if (isUtc) {
return "$y-$m-${d}T$h:$min:$sec.$ms${us}Z";
} else {
return "$y-$m-${d}T$h:$min:$sec.$ms$us";
}
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/DateTime/toIso8601String.html