<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="generator" content="made with love by dartdoc 0.8.2">
  <title>toIso8601String method - DateTime class - ex library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="../..">

  <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro|Roboto:500,400italic,300,400' rel='stylesheet' type='text/css'>
  <link rel="stylesheet" href="static-assets/prettify.css">
  <link rel="stylesheet" href="static-assets/css/bootstrap.min.css">
  <link rel="stylesheet" href="static-assets/styles.css">

  <meta name="description" content="API docs for the toIso8601String method from the DateTime class, for the Dart programming language.">
  <link rel="icon" href="static-assets/favicon.png">

  <!-- Do not remove placeholder -->
  <!-- Header Placeholder -->
</head>

<body>

<div id="overlay-under-drawer"></div>

<header class="container-fluid" id="title">
  <nav class="navbar navbar-fixed-top">
    <div class="container">
      <div class="row">
        <div class="col-sm-12 contents">
          <button id="sidenav-left-toggle" type="button">&nbsp;</button>
          <ol class="breadcrumbs gt-separated hidden-xs">
            <li><a href="index.html">test_package</a></li>
            <li><a href="ex/ex-library.html">ex</a></li>
            <li><a href="ex/DateTime-class.html">DateTime</a></li>
            <li class="self-crumb">toIso8601String</li>
          </ol>
          <div class="self-name">toIso8601String</div>
          <form class="search navbar-right" role="search">
            <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
          </form>
        </div> <!-- /col -->
      </div> <!-- /row -->
    </div> <!-- /container -->
  </nav>

  <div class="container masthead">
    <div class="row">
      <div class="col-sm-12 contents">
        <ol class="breadcrumbs gt-separated visible-xs">
          <li><a href="index.html">test_package</a></li>
          <li><a href="ex/ex-library.html">ex</a></li>
          <li><a href="ex/DateTime-class.html">DateTime</a></li>
          <li class="self-crumb">toIso8601String</li>
        </ol>
        <div class="title-description">
          <h1 class="title">
            <span class="kind">method</span> toIso8601String
          </h1>
        </div>
        <ul class="subnav">
          <li><a href="ex/DateTime/toIso8601String.html#source">Source</a></li>
        </ul>
      </div> <!-- /col -->
    </div> <!-- /row -->
  </div> <!-- /container -->

</header>

<div class="container body">
  <div class="row">

  <div class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <h5><a href="index.html">test_package</a></h5>
    <h5><a href="ex/ex-library.html">ex</a></h5>
    <h5><a href="ex/DateTime-class.html">DateTime</a></h5>

    <ol>
      <li class="section-title"><a href="ex/DateTime-class.html#constants">Constants</a></li>
      <li><a href="ex/DateTime/APRIL.html">APRIL</a></li>
      <li><a href="ex/DateTime/AUGUST.html">AUGUST</a></li>
      <li><a href="ex/DateTime/DAYS_PER_WEEK.html">DAYS_PER_WEEK</a></li>
      <li><a href="ex/DateTime/DECEMBER.html">DECEMBER</a></li>
      <li><a href="ex/DateTime/FEBRUARY.html">FEBRUARY</a></li>
      <li><a href="ex/DateTime/FRIDAY.html">FRIDAY</a></li>
      <li><a href="ex/DateTime/JANUARY.html">JANUARY</a></li>
      <li><a href="ex/DateTime/JULY.html">JULY</a></li>
      <li><a href="ex/DateTime/JUNE.html">JUNE</a></li>
      <li><a href="ex/DateTime/MARCH.html">MARCH</a></li>
      <li><a href="ex/DateTime/MAY.html">MAY</a></li>
      <li><a href="ex/DateTime/MONDAY.html">MONDAY</a></li>
      <li><a href="ex/DateTime/MONTHS_PER_YEAR.html">MONTHS_PER_YEAR</a></li>
      <li><a href="ex/DateTime/NOVEMBER.html">NOVEMBER</a></li>
      <li><a href="ex/DateTime/OCTOBER.html">OCTOBER</a></li>
      <li><a href="ex/DateTime/SATURDAY.html">SATURDAY</a></li>
      <li><a href="ex/DateTime/SEPTEMBER.html">SEPTEMBER</a></li>
      <li><a href="ex/DateTime/SUNDAY.html">SUNDAY</a></li>
      <li><a href="ex/DateTime/THURSDAY.html">THURSDAY</a></li>
      <li><a href="ex/DateTime/TUESDAY.html">TUESDAY</a></li>
      <li><a href="ex/DateTime/WEDNESDAY.html">WEDNESDAY</a></li>
    
    
      <li class="section-title"><a href="ex/DateTime-class.html#static-methods">Static methods</a></li>
      <li><a href="ex/DateTime/parse.html">parse</a></li>
    
      <li class="section-title"><a href="ex/DateTime-class.html#constructors">Constructors</a></li>
      <li><a href="ex/DateTime/DateTime.html">DateTime</a></li>
      <li><a href="ex/DateTime/DateTime.fromMillisecondsSinceEpoch.html">fromMillisecondsSinceEpoch</a></li>
      <li><a href="ex/DateTime/DateTime.now.html">now</a></li>
      <li><a href="ex/DateTime/DateTime.utc.html">utc</a></li>
    
      <li class="section-title">
        <a href="ex/DateTime-class.html#instance-properties">Properties</a>
      </li>
      <li><a href="ex/DateTime/day.html">day</a></li>
      <li><a href="ex/DateTime/hashCode.html">hashCode</a></li>
      <li><a href="ex/DateTime/hour.html">hour</a></li>
      <li><a href="ex/DateTime/isUtc.html">isUtc</a></li>
      <li><a href="ex/DateTime/millisecond.html">millisecond</a></li>
      <li><a href="ex/DateTime/millisecondsSinceEpoch.html">millisecondsSinceEpoch</a></li>
      <li><a href="ex/DateTime/minute.html">minute</a></li>
      <li><a href="ex/DateTime/month.html">month</a></li>
      <li class="inherited"><a href="ex/DateTime/runtimeType.html">runtimeType</a></li>
      <li><a href="ex/DateTime/second.html">second</a></li>
      <li><a href="ex/DateTime/timeZoneName.html">timeZoneName</a></li>
      <li><a href="ex/DateTime/timeZoneOffset.html">timeZoneOffset</a></li>
      <li><a href="ex/DateTime/weekday.html">weekday</a></li>
      <li><a href="ex/DateTime/year.html">year</a></li>
    
      <li class="section-title"><a href="ex/DateTime-class.html#operators">Operators</a></li>
      <li><a href="ex/DateTime/operator_equals.html">operator ==</a></li>
    
      <li class="section-title"><a href="ex/DateTime-class.html#instance-methods">Methods</a></li>
      <li><a href="ex/DateTime/add.html">add</a></li>
      <li><a href="ex/DateTime/compareTo.html">compareTo</a></li>
      <li><a href="ex/DateTime/difference.html">difference</a></li>
      <li><a href="ex/DateTime/isAfter.html">isAfter</a></li>
      <li><a href="ex/DateTime/isAtSameMomentAs.html">isAtSameMomentAs</a></li>
      <li><a href="ex/DateTime/isBefore.html">isBefore</a></li>
      <li class="inherited"><a href="ex/DateTime/noSuchMethod.html">noSuchMethod</a></li>
      <li><a href="ex/DateTime/subtract.html">subtract</a></li>
      <li><a href="ex/DateTime/toIso8601String.html">toIso8601String</a></li>
      <li><a href="ex/DateTime/toLocal.html">toLocal</a></li>
      <li><a href="ex/DateTime/toString.html">toString</a></li>
      <li><a href="ex/DateTime/toUtc.html">toUtc</a></li>
    </ol>

  </div><!--/.sidebar-offcanvas-->

  <div class="col-xs-12 col-sm-9 col-md-8 main-content">

    <section class="multi-line-signature">
        <span class="returntype">String</span>
        <span class="name ">toIso8601String</span>(<wbr>)
    </section>

    <section class="desc markdown">
      <p>Returns an ISO-8601 full-precision extended format representation.</p>
<p>The format is <code>yyyy-MM-ddTHH:mm:ss.sssZ</code> for UTC time, and
<code>yyyy-MM-ddTHH:mm:ss.sss</code> (no trailing "Z") for local/non-UTC time,
where:</p><ul><li>
<p><code>yyyy</code> is a, possibly negative, four digit representation of the year,
  if the year is in the range -9999 to 9999,
  otherwise it is a signed six digit representation of the year.</p></li><li><code>MM</code> is the month in the range 01 to 12,</li><li><code>dd</code> is the day of the month in the range 01 to 31,</li><li><code>HH</code> are hours in the range 00 to 23,</li><li><code>mm</code> are minutes in the range 00 to 59,</li><li><code>ss</code> are seconds in the range 00 to 59 (no leap seconds), and</li><li><code>sss</code> are milliseconds in the range 000 to 999.</li></ul>
<p>The resulting string can be parsed back using <a href="ex/DateTime/parse.html">parse</a>.</p>
    </section>
    
    <section class="summary source-code" id="source">
      <h2><span>Source</span> </h2>
      <pre><code class="prettyprint lang-dart">String toIso8601String() {
  String y = (year &gt;= -9999 &amp;&amp; year &lt;= 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);
  if (isUtc) {
    return &quot;$y-$m-${d}T$h:$min:$sec.${ms}Z&quot;;
  } else {
    return &quot;$y-$m-${d}T$h:$min:$sec.$ms&quot;;
  }
}</code></pre>
    </section>

  </div> <!-- /.main-content -->

</div> <!-- row -->
</div> <!-- container -->

<footer>
  <div class="container-fluid">
    <div class="container">
      <p class="text-center">
        <span class="no-break">
          test_package 0.0.1
        </span>
        &bull;
        <span class="no-break">
          <a href="https://www.dartlang.org">
            <img src="static-assets/favicon.png" alt="Dart" title="Dart" width="16" height="16">
          </a>
        </span>
        &bull;
        <span class="copyright no-break">
          <a href="http://creativecommons.org/licenses/by-sa/4.0/">cc license</a>
        </span>
      </p>
    </div>
  </div>
</footer>

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/prettify.js"></script>
<script src="static-assets/script.js"></script>
<!-- Do not remove placeholder -->
<!-- Footer Placeholder -->

</body>

</html>
