<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>ISO8601DateFormat xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/ISO8601DateFormat.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * </em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * </em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  
<a name="18" href="#18">18</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers;
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> java.util.Calendar;
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.util.TimeZone;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Date;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.text.FieldPosition;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.text.ParsePosition;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <em class="jxr_comment">// Contributors: Arndt Schoenewald &lt;arndt@ibm23093i821.mc.schoenewald.de&gt;</em>
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment">/**</em>
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment">   Formats a {@link Date} in the format "yyyy-MM-dd HH:mm:ss,SSS" for example</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment">   "1999-11-27 15:49:37,459".</em>
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment">   &lt;p&gt;Refer to the &lt;a</em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">   href=<a href="http://www.cl.cam.ac.uk/~mgk25/iso-time.html&gt;summary" target="alexandria_uri">http://www.cl.cam.ac.uk/~mgk25/iso-time.html&gt;summary</a> of the</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment">   International Standard Date and Time Notation&lt;/a&gt; for more</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">   information on this format.</em>
<a name="36" href="#36">36</a>  
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment">   @author Ceki G&amp;uuml;lc&amp;uuml;</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment">   @author Andrew Vajoczki</em>
<a name="39" href="#39">39</a>  
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment">   @since 0.7.5</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment">*/</em>
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> ISO8601DateFormat <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html">AbsoluteTimeDateFormat</a> {
<a name="43" href="#43">43</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -759840745298755296L;
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>    <strong class="jxr_keyword">public</strong>
<a name="46" href="#46">46</a>    ISO8601DateFormat() {
<a name="47" href="#47">47</a>    }
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>    <strong class="jxr_keyword">public</strong>
<a name="50" href="#50">50</a>    ISO8601DateFormat(TimeZone timeZone) {
<a name="51" href="#51">51</a>      <strong class="jxr_keyword">super</strong>(timeZone);
<a name="52" href="#52">52</a>    }
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong>   lastTime;
<a name="55" href="#55">55</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">char</strong>[] lastTimeString = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[20];
<a name="56" href="#56">56</a>  
<a name="57" href="#57">57</a>    <em class="jxr_javadoccomment">/**</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">     Appends a date in the format "YYYY-mm-dd HH:mm:ss,SSS"</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment">     to &lt;code&gt;sbuf&lt;/code&gt;. For example: "1999-11-27 15:49:37,459".</em>
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment">     @param sbuf the &lt;code&gt;StringBuffer&lt;/code&gt; to write to</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">  */</em>
<a name="63" href="#63">63</a>    <strong class="jxr_keyword">public</strong>
<a name="64" href="#64">64</a>    StringBuffer format(Date date, StringBuffer sbuf,
<a name="65" href="#65">65</a>  		      FieldPosition fieldPosition) {
<a name="66" href="#66">66</a>  
<a name="67" href="#67">67</a>      <strong class="jxr_keyword">long</strong> now = date.getTime();
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">int</strong> millis = (<strong class="jxr_keyword">int</strong>)(now % 1000);
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>      <strong class="jxr_keyword">if</strong> ((now - millis) != lastTime || lastTimeString[0] == 0) {
<a name="71" href="#71">71</a>        <em class="jxr_comment">// We reach this point at most once per second</em>
<a name="72" href="#72">72</a>        <em class="jxr_comment">// across all threads instead of each time format()</em>
<a name="73" href="#73">73</a>        <em class="jxr_comment">// is called. This saves considerable CPU time.</em>
<a name="74" href="#74">74</a>  
<a name="75" href="#75">75</a>        calendar.setTime(date);
<a name="76" href="#76">76</a>  
<a name="77" href="#77">77</a>        <strong class="jxr_keyword">int</strong> start = sbuf.length();
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>        <strong class="jxr_keyword">int</strong> year =  calendar.get(Calendar.YEAR);
<a name="80" href="#80">80</a>        sbuf.append(year);
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>        String month;
<a name="83" href="#83">83</a>        <strong class="jxr_keyword">switch</strong>(calendar.get(Calendar.MONTH)) {
<a name="84" href="#84">84</a>        <strong class="jxr_keyword">case</strong> Calendar.JANUARY: month = <span class="jxr_string">"-01-"</span>; <strong class="jxr_keyword">break</strong>;
<a name="85" href="#85">85</a>        <strong class="jxr_keyword">case</strong> Calendar.FEBRUARY: month = <span class="jxr_string">"-02-"</span>;  <strong class="jxr_keyword">break</strong>;
<a name="86" href="#86">86</a>        <strong class="jxr_keyword">case</strong> Calendar.MARCH: month = <span class="jxr_string">"-03-"</span>; <strong class="jxr_keyword">break</strong>;
<a name="87" href="#87">87</a>        <strong class="jxr_keyword">case</strong> Calendar.APRIL: month = <span class="jxr_string">"-04-"</span>;  <strong class="jxr_keyword">break</strong>;
<a name="88" href="#88">88</a>        <strong class="jxr_keyword">case</strong> Calendar.MAY: month = <span class="jxr_string">"-05-"</span>; <strong class="jxr_keyword">break</strong>;
<a name="89" href="#89">89</a>        <strong class="jxr_keyword">case</strong> Calendar.JUNE: month = <span class="jxr_string">"-06-"</span>;  <strong class="jxr_keyword">break</strong>;
<a name="90" href="#90">90</a>        <strong class="jxr_keyword">case</strong> Calendar.JULY: month = <span class="jxr_string">"-07-"</span>; <strong class="jxr_keyword">break</strong>;
<a name="91" href="#91">91</a>        <strong class="jxr_keyword">case</strong> Calendar.AUGUST: month = <span class="jxr_string">"-08-"</span>;  <strong class="jxr_keyword">break</strong>;
<a name="92" href="#92">92</a>        <strong class="jxr_keyword">case</strong> Calendar.SEPTEMBER: month = <span class="jxr_string">"-09-"</span>; <strong class="jxr_keyword">break</strong>;
<a name="93" href="#93">93</a>        <strong class="jxr_keyword">case</strong> Calendar.OCTOBER: month = <span class="jxr_string">"-10-"</span>; <strong class="jxr_keyword">break</strong>;
<a name="94" href="#94">94</a>        <strong class="jxr_keyword">case</strong> Calendar.NOVEMBER: month = <span class="jxr_string">"-11-"</span>;  <strong class="jxr_keyword">break</strong>;
<a name="95" href="#95">95</a>        <strong class="jxr_keyword">case</strong> Calendar.DECEMBER: month = <span class="jxr_string">"-12-"</span>;  <strong class="jxr_keyword">break</strong>;
<a name="96" href="#96">96</a>        <strong class="jxr_keyword">default</strong>: month = <span class="jxr_string">"-NA-"</span>; <strong class="jxr_keyword">break</strong>;
<a name="97" href="#97">97</a>        }
<a name="98" href="#98">98</a>        sbuf.append(month);
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>       <strong class="jxr_keyword">int</strong> day = calendar.get(Calendar.DAY_OF_MONTH);
<a name="101" href="#101">101</a>       <strong class="jxr_keyword">if</strong>(day &lt; 10)
<a name="102" href="#102">102</a> 	sbuf.append('0');
<a name="103" href="#103">103</a>       sbuf.append(day);
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a>       sbuf.append(' ');
<a name="106" href="#106">106</a> 
<a name="107" href="#107">107</a>       <strong class="jxr_keyword">int</strong> hour = calendar.get(Calendar.HOUR_OF_DAY);
<a name="108" href="#108">108</a>       <strong class="jxr_keyword">if</strong>(hour &lt; 10) {
<a name="109" href="#109">109</a> 	sbuf.append('0');
<a name="110" href="#110">110</a>       }
<a name="111" href="#111">111</a>       sbuf.append(hour);
<a name="112" href="#112">112</a>       sbuf.append(':');
<a name="113" href="#113">113</a> 
<a name="114" href="#114">114</a>       <strong class="jxr_keyword">int</strong> mins = calendar.get(Calendar.MINUTE);
<a name="115" href="#115">115</a>       <strong class="jxr_keyword">if</strong>(mins &lt; 10) {
<a name="116" href="#116">116</a> 	sbuf.append('0');
<a name="117" href="#117">117</a>       }
<a name="118" href="#118">118</a>       sbuf.append(mins);
<a name="119" href="#119">119</a>       sbuf.append(':');
<a name="120" href="#120">120</a> 
<a name="121" href="#121">121</a>       <strong class="jxr_keyword">int</strong> secs = calendar.get(Calendar.SECOND);
<a name="122" href="#122">122</a>       <strong class="jxr_keyword">if</strong>(secs &lt; 10) {
<a name="123" href="#123">123</a> 	sbuf.append('0');
<a name="124" href="#124">124</a>       }
<a name="125" href="#125">125</a>       sbuf.append(secs);
<a name="126" href="#126">126</a> 
<a name="127" href="#127">127</a>       sbuf.append(',');
<a name="128" href="#128">128</a> 
<a name="129" href="#129">129</a>       <em class="jxr_comment">// store the time string for next time to avoid recomputation</em>
<a name="130" href="#130">130</a>       sbuf.getChars(start, sbuf.length(), lastTimeString, 0);
<a name="131" href="#131">131</a>       lastTime = now - millis;
<a name="132" href="#132">132</a>     }
<a name="133" href="#133">133</a>     <strong class="jxr_keyword">else</strong> {
<a name="134" href="#134">134</a>       sbuf.append(lastTimeString);
<a name="135" href="#135">135</a>     }
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">if</strong> (millis &lt; 100)
<a name="139" href="#139">139</a>       sbuf.append('0');
<a name="140" href="#140">140</a>     <strong class="jxr_keyword">if</strong> (millis &lt; 10)
<a name="141" href="#141">141</a>       sbuf.append('0');
<a name="142" href="#142">142</a> 
<a name="143" href="#143">143</a>     sbuf.append(millis);
<a name="144" href="#144">144</a>     <strong class="jxr_keyword">return</strong> sbuf;
<a name="145" href="#145">145</a>   }
<a name="146" href="#146">146</a> 
<a name="147" href="#147">147</a>   <em class="jxr_javadoccomment">/**</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">    This method does not do anything but return &lt;code&gt;null&lt;/code&gt;.</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">   */</em>
<a name="150" href="#150">150</a>   <strong class="jxr_keyword">public</strong>
<a name="151" href="#151">151</a>   Date parse(java.lang.String s, ParsePosition pos) {
<a name="152" href="#152">152</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="153" href="#153">153</a>   }
<a name="154" href="#154">154</a> }
<a name="155" href="#155">155</a> 
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

