Spec-Zone.ru › Dart 1

dart:core

Метод 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API