<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to User_Guide</title><link>https://sourceforge.net/p/threeten/oldwiki/User_Guide/</link><description>Recent changes to User_Guide</description><atom:link href="https://sourceforge.net/p/threeten/oldwiki/User_Guide/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 22 May 2014 22:08:09 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/threeten/oldwiki/User_Guide/feed" rel="self" type="application/rss+xml"/><item><title>User_Guide modified by Stephen Colebourne</title><link>https://sourceforge.net/p/threeten/oldwiki/User_Guide/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -345,6 +345,9 @@

 allows a compatible formatter to be obtained. 

-\--- 
+  
+
+
+* * *

   * [Home page](Main_Page) 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stephen Colebourne</dc:creator><pubDate>Thu, 22 May 2014 22:08:09 -0000</pubDate><guid>https://sourceforge.net2673eebd3723e21ac77fdf2ed7d011d3eab825b0</guid></item><item><title>User_Guide modified by Stephen Colebourne</title><link>https://sourceforge.net/p/threeten/oldwiki/User_Guide/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -1,4 +1,4 @@
-This document is an initial user guide for the ThreeTen project and JSR 310. 
+This document is an initial user guide for the [ThreeTen](Main_Page) project and [JSR 310](http://jcp.org/en/jsr/summary?id=310).

 [TOC]

@@ -343,4 +343,8 @@

     asFormat

-allows a compatible formatter to be obtained.
+allows a compatible formatter to be obtained. 
+
+\--- 
+
+  * [Home page](Main_Page) 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stephen Colebourne</dc:creator><pubDate>Thu, 22 May 2014 22:08:09 -0000</pubDate><guid>https://sourceforge.net58646e0f935f2478dbc157fa23a7bfec135f5ea3</guid></item><item><title>User_Guide modified by Stephen Colebourne</title><link>https://sourceforge.net/p/threeten/oldwiki/User_Guide/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -255,7 +255,7 @@

 ## Time zones

-In JSR-310, time zones are represented by three co-operating classes. 
+In ThreeTen, time zones are represented by three co-operating classes. 

 The 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stephen Colebourne</dc:creator><pubDate>Thu, 22 May 2014 22:08:09 -0000</pubDate><guid>https://sourceforge.netfc1c6392db599fc50a1dfa6dbc57ff0f692f789d</guid></item><item><title>User_Guide modified by Stephen Colebourne</title><link>https://sourceforge.net/p/threeten/oldwiki/User_Guide/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -266,11 +266,10 @@
     TimeZone

 class represents the identifier for a region of the planet where time zone rules are defined and who has collated the data. The identifier consists of three parts: 
-    
-       * the group that defines the rules - such as the TimeZone DB currently used by Java SE
-       * the region - such as "Europe/London" (the region id is defined by the group)
-       * the version - such as "2010b" (the version id is defined by the group)
-    
+
+  * the group that defines the rules - such as the TimeZone DB currently used by Java SE 
+  * the region - such as "Europe/London" (the region id is defined by the group) 
+  * the version - such as "2010b" (the version id is defined by the group) 

 The full identifier has the format `{groupID}:{regionID}#{versionID}` where the version id can be omitted (see below) and the group ID can be implied (as the standard TZDB used in java SE today). 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stephen Colebourne</dc:creator><pubDate>Thu, 22 May 2014 22:08:09 -0000</pubDate><guid>https://sourceforge.net927c33da2e75b9b68ea29968ceb3ff460bc2f46e</guid></item><item><title>User_Guide modified by Stephen Colebourne</title><link>https://sourceforge.net/p/threeten/oldwiki/User_Guide/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -42,7 +42,7 @@

     Instant

-class operates on a simplified time-line model that avoids dealing with leap seconds. It does this using the UTC-SLS convention which smooths leap seconds ensuring that there are always 60 seconds in a minute. These simplifications are useful because most applications do not take into account the existence of leap seconds. If your application needs to take them into account then an alternate class is needed. The 
+class operates on a simplified time-line model that avoids dealing with [leap seconds](http://en.wikipedia.org/wiki/Leap_second). It does this using the UTC-SLS convention which smooths leap seconds ensuring that there are always 60 seconds in a minute. These simplifications are useful because most applications do not take into account the existence of leap seconds. If your application needs to take them into account then an alternate class is needed. The 

     UTCInstant

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stephen Colebourne</dc:creator><pubDate>Thu, 22 May 2014 22:08:09 -0000</pubDate><guid>https://sourceforge.netc433ffcf05b1e6867d73aad67c283f55ecc7d6ee</guid></item><item><title>User_Guide modified by Stephen Colebourne</title><link>https://sourceforge.net/p/threeten/oldwiki/User_Guide/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This document is an initial user guide for the ThreeTen project and JSR 310. &lt;/p&gt;
&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#project-goals"&gt;Project goals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#machine-time-line"&gt;Machine time-line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#human-time-line"&gt;Human time-line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#periods"&gt;Periods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#enums"&gt;Enums&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#invalid-date-strategy"&gt;Invalid date strategy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#adjustment-strategy"&gt;Adjustment strategy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#builder-pattern"&gt;Builder pattern&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#current-time"&gt;Current time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#time-zones"&gt;Time zones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#calendar-systems"&gt;Calendar systems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#formatting"&gt;Formatting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="project-goals"&gt;Project goals&lt;/h2&gt;
&lt;p&gt;The primary goal of this project, via JSR-310, is to develop a new API to replace the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Date&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Calendar&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;classes in the current Java SE platform. A key part of this is providing a new API that is dramatically easier to use and less error prone. As such, all the key public classes are immuatble and thread-safe. &lt;/p&gt;
&lt;p&gt;A secondary goal is to define terminology and behaviour that other areas in computing can adopt. &lt;/p&gt;
&lt;h2 id="machine-time-line"&gt;Machine time-line&lt;/h2&gt;
&lt;p&gt;A time-line is a way of defining time progressing from the past to the future. The machine time-line is a mechanism of describing that is intended for machines to use. This is normally defined as a single incrementing number. For example, the millisecond count from 1970-01-01 in the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Date&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class. &lt;/p&gt;
&lt;p&gt;ThreeTen defines two core classes in this area. &lt;/p&gt;
&lt;p&gt;The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Instant&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents an instant in time to an accuracy of nanoseconds. It should be viewed as a replacement for java.util.Date. Operations on an Instant include comparison to another Instant and adding or subtracting a duration. The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Duration&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents a duration of time to an accuracy of nanoseconds. There is no current JDK class representing this concept. Operations on a Duration include comparison to another Duration and mathematical operations like addition, subtraction, multiplication and division. &lt;/p&gt;
&lt;p&gt;Time scales &lt;/p&gt;
&lt;p&gt;The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Instant&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class operates on a simplified time-line model that avoids dealing with leap seconds. It does this using the UTC-SLS convention which smooths leap seconds ensuring that there are always 60 seconds in a minute. These simplifications are useful because most applications do not take into account the existence of leap seconds. If your application needs to take them into account then an alternate class is needed. The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;UTCInstant&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents an instant taking into account the correct definition of UTC with leap seconds. The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;TAIInstant&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents a pure scientific time-scale. &lt;/p&gt;
&lt;h2 id="human-time-line"&gt;Human time-line&lt;/h2&gt;
&lt;p&gt;The human time-line is a mechanism of describing that is intended for humans to use. This is defined as date-time fields, such as year month, day, hour, minute and second. &lt;/p&gt;
&lt;p&gt;ThreeTen defines many classes in this area. &lt;/p&gt;
&lt;p&gt;The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;LocalDate&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents a date. There is no representation of a time or time-zone. Methods are provided to get the year, month, day-of-month, day-of-week and day-of-year, and to return a new instance with any of these altered. Further methods allow a period of time measured in years, months or days to be added/subtracted. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="n"&gt;LocalDate&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;LocalDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2010&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;MonthOfYear&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FEBRUARY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="n"&gt;date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plusDays&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;  &lt;span class="c1"&gt;// 2010-03-01&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;LocalTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents a time. There is no representation of a date or time-zone. Methods are provided to get the hour, minute, second and nanosecond, and to return a new instance with any of these altered. Further methods allow a period of time measured in hours, minutes, seconds or nanoseconds to be added/subtracted. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="n"&gt;LocalTime&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;LocalTime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="n"&gt;time&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plusHours&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;  &lt;span class="c1"&gt;// 15:30&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;LocalDateTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents a date-time. There is no representation of a time-zone. This is a combination of a &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;LocalDate&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and a &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;LocalTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and has similar methods. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="n"&gt;LocalDateTime&lt;/span&gt; &lt;span class="n"&gt;dt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;LocalDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2010&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;MonthOfYear&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FEBRUARY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="n"&gt;dt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;dt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plusDays&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;plusHours&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;dt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;  &lt;span class="c1"&gt;// 2010-03-01T15:30&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;OffsetDate&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;, &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;OffsetTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;OffsetDateTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;classes represents a date, time or date-time with a time-zone offset, such as &lt;code&gt;+02:00&lt;/code&gt;. There is no representation of time-zone, as in &lt;code&gt;Europe/Paris&lt;/code&gt;. These classes are built around the matching "Local" class and store the additional ZoneOffset instance. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;OffsetDateTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;can be converted to and from an &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Instant&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;with no loss of accuracy. The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;ZonedDateTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents a date-time with full time-zone rule, such as &lt;code&gt;Europe/Paris&lt;/code&gt;. The addition of time-zone rules makes the class significantly more complex than &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;OffsetDateTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;as there are points on the local time-line that don't exist or exist twice (due to daylight savings time changes). This class handles those gaps and overlaps using the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;ZoneResolver&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class, with standard implementations in &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;ZoneResolvers&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;. Other representations of date and time include &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Year&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;, representing a year, &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;YearMonth&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;, representing the combination of a year and a month, &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;MonthDay&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;, representing the combination of a month and a day, and &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;DateTimeFields&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;, representing any combination of date-time fields. &lt;/p&gt;
&lt;h2 id="periods"&gt;Periods&lt;/h2&gt;
&lt;p&gt;The period classes represent durations measured in human-scale units. &lt;/p&gt;
&lt;p&gt;The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Period&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class allows a period in years, months, days, hours, minutes and seconds to be stored. This is the most commonly used period class. There are two more advanced classes. The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;PeriodField&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents a period in a single unit, such as "6 Months". The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;PeriodFields&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents a compound period built of a collection of fields. Methods are provided to allow conversion between the different units where the conversions are fixed. &lt;/p&gt;
&lt;h2 id="enums"&gt;Enums&lt;/h2&gt;
&lt;p&gt;The current Java SE platform uses int constants for months, day-of-week, era and am-pm. ThreeTen uses the Java 5 Enum for these concepts to create a better API. The int values are retained internally, and may be used externally for months, where 1 is January and 12 is December. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="n"&gt;MonthOfYear&lt;/span&gt; &lt;span class="n"&gt;month&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getMonthOfYear&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
 &lt;span class="n"&gt;DayOfWeek&lt;/span&gt; &lt;span class="n"&gt;dow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getDayOfWeek&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
 &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;month&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isFebruary&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;dow&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isFriday&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="invalid-date-strategy"&gt;Invalid date strategy&lt;/h2&gt;
&lt;p&gt;What is the result when you add one month to the 31st of March? Is it the 30th of April? The 1st of May? An exception? &lt;/p&gt;
&lt;p&gt;ThreeTen addresses this problem using the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;DateResolver&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;strategy interface. Standard implementations are provided in &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;DateResolvers&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="n"&gt;LocalDate&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;LocalDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2010&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;MonthOfYear&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;JANUARY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;31&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="n"&gt;LocalDate&lt;/span&gt; &lt;span class="n"&gt;oneMonthLater&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plusMonths&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;DateResolvers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;previousValid&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;  &lt;span class="c1"&gt;// 28th Feb&lt;/span&gt;
 &lt;span class="n"&gt;LocalDate&lt;/span&gt; &lt;span class="n"&gt;oneMonthLater&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plusMonths&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;DateResolvers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;nextValid&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;      &lt;span class="c1"&gt;// 1st Mar&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="adjustment-strategy"&gt;Adjustment strategy&lt;/h2&gt;
&lt;p&gt;How do you find the last day of the month? Or the next working day? Or a week on Tuesday? &lt;/p&gt;
&lt;p&gt;ThreeTen addresses this problem using the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;DateAdjuster&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;strategy interface. Standard implementations are provided in &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;DateAdjusters&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="n"&gt;LocalDate&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;LocalDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2010&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;MonthOfYear&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FEBRUARY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="n"&gt;LocalDate&lt;/span&gt; &lt;span class="n"&gt;endOfMonth&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DateAdjusters&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lastDayOfMonth&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
 &lt;span class="n"&gt;LocalDate&lt;/span&gt; &lt;span class="n"&gt;nextTue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DateAdjusters&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DayOfWeek&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;TUESDAY&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="builder-pattern"&gt;Builder pattern&lt;/h2&gt;
&lt;p&gt;The builder pattern allows the object you want to be built up using individual parts. This is achieved using the methods prefixed by "at". &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="c1"&gt;// builder pattern&lt;/span&gt;
 &lt;span class="n"&gt;OffsetDateTime&lt;/span&gt; &lt;span class="n"&gt;dt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Year&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2010&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;atMonth&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MonthOfYear&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FEBRUARY&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;atDay&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                        &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;atTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;atOffset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ZoneOffset&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;+03:00&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
 &lt;span class="c1"&gt;// normal shorthand&lt;/span&gt;
 &lt;span class="n"&gt;OffsetDateTime&lt;/span&gt; &lt;span class="n"&gt;dt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;OffsetDateTime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2010&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ZoneOffset&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;+03:00&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="current-time"&gt;Current time&lt;/h2&gt;
&lt;p&gt;In ThreeTen, the current time is no longer obtained via &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;currentTimeMillis&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;. Instead, the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;TimeSource&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class is used. This returns an instant based on the current time, or an altered instant suitable for testing. For the human-scale classes, the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Clock&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class should used. This has methods to obtain all different kinds of date-time object, based on a time-source and a time-zone. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;Inject&lt;/span&gt;
 &lt;span class="n"&gt;private&lt;/span&gt; &lt;span class="n"&gt;Clock&lt;/span&gt; &lt;span class="n"&gt;clock&lt;/span&gt;

 &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;process&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;clock&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;today&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;getDayOfWeek&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;isMonday&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="time-zones"&gt;Time zones&lt;/h2&gt;
&lt;p&gt;In JSR-310, time zones are represented by three co-operating classes. &lt;/p&gt;
&lt;p&gt;The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;ZoneOffset&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents a fixed offset from UTC in seconds. This is normally represented as a string of the format "±hh:mm". Using a zone-offset is easier and safer than using a full time-zone as there are no gaps or overlaps in the local time-line when just using an offset. The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;TimeZone&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class represents the identifier for a region of the planet where time zone rules are defined and who has collated the data. The identifier consists of three parts: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;   &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;group&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;defines&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;rules&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;such&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;TimeZone&lt;/span&gt; &lt;span class="n"&gt;DB&lt;/span&gt; &lt;span class="n"&gt;currently&lt;/span&gt; &lt;span class="n"&gt;used&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;Java&lt;/span&gt; &lt;span class="n"&gt;SE&lt;/span&gt;
   &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;region&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;such&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;Europe/London&amp;quot;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;region&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;defined&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;group&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;such&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;2010b&amp;quot;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;defined&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;group&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The full identifier has the format &lt;code&gt;{groupID}:{regionID}#{versionID}&lt;/code&gt; where the version id can be omitted (see below) and the group ID can be implied (as the standard TZDB used in java SE today). &lt;/p&gt;
&lt;p&gt;The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;ZoneRules&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;are the actual set of rules that define when the zone-offset changes. Each set of rules contains two parts - a list of historical transitions where the zone-offset has changed in the past, and a formula for calculating future changes. The rule information is fully accessible via the API. The &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;ZonedDateTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class stores a &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;TimeZone&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;reference, rather than a &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;ZoneRules&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;. The time-zone must contain a group and a region, but the version may be blank, which indicates a "floating version". A "floating version" simply means that the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;ZonedDateTime&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class will use the latest available zone-rules. By comparison, if the date-time stores a time-zone with a specific version, then only that version of the rules can be used. This approach allows the time zone rules to be updated in a background thread while the application is running. The date-time object will pick up the changes on the next calculation is the version is floating or not at all if the version is specified. &lt;/p&gt;
&lt;p&gt;The code to support background thread zone rules updates is not included in this JSR as it is more appropriate at the Java EE level. &lt;/p&gt;
&lt;h2 id="calendar-systems"&gt;Calendar systems&lt;/h2&gt;
&lt;p&gt;In ThreeTen, the standard civil calendar is considered to be the default and most classes are built around it. This calendar system is defined as the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;ISOChronology&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and models the time-line using the current rules for leap years over all time. It includes year 0 but omits leap seconds. To handle alternate calendar systems, a package of additional chronology and date classes is provided. Thus, to use the coptic date you should use the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;CopticDate&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class. Low level code can use the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Calendrical&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;interface to interoperate between different calendars. The ISO calendar system does not model historical dates accurately. The rules of the ISO calendar system were first introduced in 1582 and adopted by some European countries. However, some other countries did not adopt the system until into the 1900s. As such, it is always essential to check the software requirements when dealing with historical dates. ThreeTen provides the &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;HistoricDate&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;class to assist, which requires the cutover from the older Julian calendar system to the newer ISO/Gregorian system to be passed in. &lt;/p&gt;
&lt;h2 id="formatting"&gt;Formatting&lt;/h2&gt;
&lt;p&gt;All standard ThreeTen have meaningful &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;toString&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;methods. The formatting package is there should more control be required. The formatting package supplies a set of standard formatters in &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;DateTimeFormatters&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and a builder for complex formats in &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;DateTimeFormatterBuilder&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;. The end result is an instance of &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;DateTimeFormatter&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;which can be used to print to or parse from a string. Printing is based on an &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Appendable&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;to allow direct output to a stream. The formatter is independent of the older Java SE Format class. However, a method &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;asFormat&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;allows a compatible formatter to be obtained.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stephen Colebourne</dc:creator><pubDate>Thu, 22 May 2014 22:08:08 -0000</pubDate><guid>https://sourceforge.net9542d82b8af0d628ae475bedd10851507d50dc17</guid></item></channel></rss>