<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FDevelopment_Class%2FTiming</id>
		<title>Java/Development Class/Timing - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FDevelopment_Class%2FTiming"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Development_Class/Timing&amp;action=history"/>
		<updated>2026-06-06T10:41:44Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Development_Class/Timing&amp;diff=8429&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Development_Class/Timing&amp;diff=8429&amp;oldid=prev"/>
				<updated>2010-06-01T07:05:52Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 07:05, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Development_Class/Timing&amp;diff=8428&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Development_Class/Timing&amp;diff=8428&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Class for program event timing ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
/*&lt;br /&gt;
 * This code is free software; you can redistribute it and/or&lt;br /&gt;
 * modify it under the terms of the GNU Lesser General Public &lt;br /&gt;
 * License as published by the Free Software Foundation; either &lt;br /&gt;
 * version 2.1 of the License, or (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This code is distributed in the hope that it will be useful,&lt;br /&gt;
 * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;
 * GNU Lesser General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU Lesser General Public &lt;br /&gt;
 * License along with this program; if not, write to the Free &lt;br /&gt;
 * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, &lt;br /&gt;
 * MA  02111-1307, USA.&lt;br /&gt;
 */&lt;br /&gt;
//package no.geosoft.cc.util;&lt;br /&gt;
&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Class for program event timing.&lt;br /&gt;
 * Usage:&lt;br /&gt;
 *&lt;br /&gt;
 *   &amp;lt;pre&amp;gt;&lt;br /&gt;
 *   Timer timer = new Timer();&lt;br /&gt;
 *&lt;br /&gt;
 *   // do stuff&lt;br /&gt;
 *&lt;br /&gt;
 *   System.out.println (timer);  // prints time elapsed since&lt;br /&gt;
 *                                // object was created.&lt;br /&gt;
 *   &amp;lt;/pre&amp;gt;&lt;br /&gt;
 * &lt;br /&gt;
 * @author &lt;br /&gt;
 */&lt;br /&gt;
public class Timer&lt;br /&gt;
{&lt;br /&gt;
  private Date  start_;&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Start timer.&lt;br /&gt;
   */&lt;br /&gt;
  public Timer()&lt;br /&gt;
  {&lt;br /&gt;
    reset();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Returns exact number of milliseconds since timer was started.&lt;br /&gt;
   * &lt;br /&gt;
   * @return  Number of milliseconds since timer was started.&lt;br /&gt;
   */&lt;br /&gt;
  public long getTime()&lt;br /&gt;
  {&lt;br /&gt;
    Date now = new Date();&lt;br /&gt;
    long nMillis = now.getTime() - start_.getTime();&lt;br /&gt;
    return nMillis;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Restarts the timer.&lt;br /&gt;
   */&lt;br /&gt;
  public void reset()&lt;br /&gt;
  {&lt;br /&gt;
    start_ = new Date();  // now    &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Returns a formatted string showing the elaspsed time&lt;br /&gt;
   * suince the instance was created.&lt;br /&gt;
   * &lt;br /&gt;
   * @return  Formatted time string.&lt;br /&gt;
   */&lt;br /&gt;
  public String toString()&lt;br /&gt;
  {&lt;br /&gt;
    long nMillis = getTime();&lt;br /&gt;
    &lt;br /&gt;
    long nHours   = nMillis / 1000 / 60 / 60;&lt;br /&gt;
    nMillis -= nHours * 1000 * 60 * 60;&lt;br /&gt;
      &lt;br /&gt;
    long nMinutes = nMillis / 1000 / 60;&lt;br /&gt;
    nMillis -= nMinutes * 1000  * 60;&lt;br /&gt;
    long nSeconds = nMillis / 1000;&lt;br /&gt;
    nMillis -= nSeconds * 1000;&lt;br /&gt;
    &lt;br /&gt;
    StringBuffer time = new StringBuffer();&lt;br /&gt;
    if (nHours &amp;gt; 0) time.append (nHours + &amp;quot;:&amp;quot;);&lt;br /&gt;
    if (nHours &amp;gt; 0 &amp;amp;&amp;amp; nMinutes &amp;lt; 10) time.append (&amp;quot;0&amp;quot;);&lt;br /&gt;
    time.append (nMinutes + &amp;quot;:&amp;quot;);&lt;br /&gt;
    if (nSeconds &amp;lt; 10) time.append (&amp;quot;0&amp;quot;);&lt;br /&gt;
    time.append (nSeconds);&lt;br /&gt;
    time.append (&amp;quot;.&amp;quot;);&lt;br /&gt;
    if (nMillis &amp;lt; 100) time.append (&amp;quot;0&amp;quot;);&lt;br /&gt;
    if (nMillis &amp;lt;  10) time.append (&amp;quot;0&amp;quot;);&lt;br /&gt;
    time.append (nMillis);&lt;br /&gt;
    &lt;br /&gt;
    return time.toString();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Testing this class.&lt;br /&gt;
   * &lt;br /&gt;
   * @param args  Not used.&lt;br /&gt;
   */&lt;br /&gt;
  public static void main (String[] args)&lt;br /&gt;
  {&lt;br /&gt;
    Timer timer = new Timer();&lt;br /&gt;
    for (int i = 0; i &amp;lt; 100000000; i++) {&lt;br /&gt;
      double b = 998.43678;&lt;br /&gt;
      double c = Math.sqrt (b);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println (timer);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Compute and display elapsed time of an operation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception{&lt;br /&gt;
    long startTime = System.currentTimeMillis();&lt;br /&gt;
    for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
        Thread.sleep(60);&lt;br /&gt;
    }&lt;br /&gt;
    long endTime = System.currentTimeMillis();&lt;br /&gt;
    float seconds = (endTime - startTime) / 1000F;&lt;br /&gt;
    System.out.println(Float.toString(seconds) + &amp;quot; seconds.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//0.625 seconds.&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get elapsed time in days ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    long start = System.currentTimeMillis();&lt;br /&gt;
    Thread.sleep(2000);&lt;br /&gt;
    // Get elapsed time in milliseconds&lt;br /&gt;
    long elapsedTimeMillis = System.currentTimeMillis() - start;&lt;br /&gt;
    float elapsedTimeDay = elapsedTimeMillis/(24*60*60*1000F);&lt;br /&gt;
    System.out.println(elapsedTimeDay);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get elapsed time in hours ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    long start = System.currentTimeMillis();&lt;br /&gt;
    Thread.sleep(2000);&lt;br /&gt;
    // Get elapsed time in milliseconds&lt;br /&gt;
    long elapsedTimeMillis = System.currentTimeMillis() - start;&lt;br /&gt;
    &lt;br /&gt;
    // Get elapsed time in hours&lt;br /&gt;
    float elapsedTimeHour = elapsedTimeMillis/(60*60*1000F);&lt;br /&gt;
    System.out.println(elapsedTimeHour);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get elapsed time in milliseconds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    long start = System.currentTimeMillis();&lt;br /&gt;
    Thread.sleep(2000);&lt;br /&gt;
    long elapsedTimeMillis = System.currentTimeMillis() - start;&lt;br /&gt;
    System.out.println(elapsedTimeMillis);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get elapsed time in minutes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    long start = System.currentTimeMillis();&lt;br /&gt;
    Thread.sleep(2000);&lt;br /&gt;
    // Get elapsed time in milliseconds&lt;br /&gt;
    long elapsedTimeMillis = System.currentTimeMillis() - start;&lt;br /&gt;
    &lt;br /&gt;
    // Get elapsed time in minutes&lt;br /&gt;
    float elapsedTimeMin = elapsedTimeMillis/(60*1000F);&lt;br /&gt;
    System.out.println(elapsedTimeMin);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get elapsed time in seconds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    long start = System.currentTimeMillis();&lt;br /&gt;
    Thread.sleep(2000);&lt;br /&gt;
    // Get elapsed time in milliseconds&lt;br /&gt;
    long elapsedTimeMillis = System.currentTimeMillis() - start;&lt;br /&gt;
    &lt;br /&gt;
    float elapsedTimeSec = elapsedTimeMillis/1000F;&lt;br /&gt;
    System.out.println(elapsedTimeSec);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get seconds since ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
/**&lt;br /&gt;
 *  BlueCove - Java library for Bluetooth&lt;br /&gt;
 *  Copyright (C) 2006-2008 Vlad Skarzhevskyy&lt;br /&gt;
 * &lt;br /&gt;
 *  Licensed to the Apache Software Foundation (ASF) under one&lt;br /&gt;
 *  or more contributor license agreements.  See the NOTICE file&lt;br /&gt;
 *  distributed with this work for additional information&lt;br /&gt;
 *  regarding copyright ownership.  The ASF licenses this file&lt;br /&gt;
 *  to you under the Apache License, Version 2.0 (the&lt;br /&gt;
 *  &amp;quot;License&amp;quot;); you may not use this file except in compliance&lt;br /&gt;
 *  with the License.  You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *    http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 *  Unless required by applicable law or agreed to in writing,&lt;br /&gt;
 *  software distributed under the License is distributed on an&lt;br /&gt;
 *  &amp;quot;AS IS&amp;quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY&lt;br /&gt;
 *  KIND, either express or implied.  See the License for the&lt;br /&gt;
 *  specific language governing permissions and limitations&lt;br /&gt;
 *  under the License.&lt;br /&gt;
 *&lt;br /&gt;
 *  @author vlads&lt;br /&gt;
 *  @version $Id: TimeUtils.java 2655 2008-12-24 16:04:37Z skarzhevskyy $&lt;br /&gt;
 */&lt;br /&gt;
import java.util.Calendar;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
/**&lt;br /&gt;
 * &lt;br /&gt;
 */&lt;br /&gt;
public abstract class TimeUtils {&lt;br /&gt;
  private static Calendar singleCalendar;&lt;br /&gt;
  private static Date singleDate;&lt;br /&gt;
  public static String secSince(long start) {&lt;br /&gt;
    if (start == 0) {&lt;br /&gt;
      return &amp;quot;n/a&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    long msec = since(start);&lt;br /&gt;
    long sec = msec / 1000;&lt;br /&gt;
    long min = sec / 60;&lt;br /&gt;
    sec -= min * 60;&lt;br /&gt;
    long h = min / 60;&lt;br /&gt;
    min -= h * 60;&lt;br /&gt;
    StringBuffer sb;&lt;br /&gt;
    sb = new StringBuffer();&lt;br /&gt;
    if (h != 0) {&lt;br /&gt;
      sb.append(StringUtils.d00((int) h)).append(&amp;quot;:&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    if ((h != 0) || (min != 0)) {&lt;br /&gt;
      sb.append(StringUtils.d00((int) min)).append(&amp;quot;:&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    sb.append(StringUtils.d00((int) sec));&lt;br /&gt;
    if ((h == 0) &amp;amp;&amp;amp; (min == 0)) {&lt;br /&gt;
      sb.append(&amp;quot; sec&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    if ((h == 0) &amp;amp;&amp;amp; (min == 0) &amp;amp;&amp;amp; (sec &amp;lt;= 1)) {&lt;br /&gt;
      msec -= 1000 * sec;&lt;br /&gt;
      sb.append(&amp;quot; &amp;quot;);&lt;br /&gt;
      sb.append(StringUtils.d000((int) msec));&lt;br /&gt;
      sb.append(&amp;quot; msec&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    return sb.toString();&lt;br /&gt;
  }&lt;br /&gt;
  public static long since(long start) {&lt;br /&gt;
    if (start == 0) {&lt;br /&gt;
      return 0;&lt;br /&gt;
    }&lt;br /&gt;
    return (System.currentTimeMillis() - start);&lt;br /&gt;
  }&lt;br /&gt;
  public static String bps(long size, long start) {&lt;br /&gt;
    long duration = TimeUtils.since(start);&lt;br /&gt;
    if (duration == 0) {&lt;br /&gt;
      return &amp;quot;n/a&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    long bps = ((1000 * 8 * size) / (duration));&lt;br /&gt;
    return StringUtils.formatLong(bps) + &amp;quot; bit/s&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  public static String timeNowToString() {&lt;br /&gt;
    StringBuffer sb = new StringBuffer();&lt;br /&gt;
    appendTime(sb, System.currentTimeMillis(), false);&lt;br /&gt;
    return sb.toString();&lt;br /&gt;
  }&lt;br /&gt;
  public static String timeStampNowToString() {&lt;br /&gt;
    StringBuffer sb = new StringBuffer();&lt;br /&gt;
    appendTime(sb, System.currentTimeMillis(), true);&lt;br /&gt;
    return sb.toString();&lt;br /&gt;
  }&lt;br /&gt;
  public static StringBuffer appendTimeStampNow(StringBuffer sb, boolean millisecond) {&lt;br /&gt;
    return appendTime(sb, System.currentTimeMillis(), millisecond);&lt;br /&gt;
  }&lt;br /&gt;
  public static synchronized StringBuffer appendTime(StringBuffer sb, long timeStamp,&lt;br /&gt;
      boolean millisecond) {&lt;br /&gt;
    if (timeStamp == 0) {&lt;br /&gt;
      sb.append(&amp;quot;n/a&amp;quot;);&lt;br /&gt;
      return sb;&lt;br /&gt;
    }&lt;br /&gt;
    if (singleCalendar == null) {&lt;br /&gt;
      singleCalendar = Calendar.getInstance();&lt;br /&gt;
      singleDate = new Date();&lt;br /&gt;
    }&lt;br /&gt;
    singleDate.setTime(timeStamp);&lt;br /&gt;
    singleCalendar.setTime(singleDate);&lt;br /&gt;
    StringUtils.appendD00(sb, singleCalendar.get(Calendar.HOUR_OF_DAY)).append(&amp;quot;:&amp;quot;);&lt;br /&gt;
    StringUtils.appendD00(sb, singleCalendar.get(Calendar.MINUTE)).append(&amp;quot;:&amp;quot;);&lt;br /&gt;
    StringUtils.appendD00(sb, singleCalendar.get(Calendar.SECOND));&lt;br /&gt;
    if (millisecond) {&lt;br /&gt;
      sb.append(&amp;quot;.&amp;quot;);&lt;br /&gt;
      StringUtils.appendD000(sb, singleCalendar.get(Calendar.MILLISECOND));&lt;br /&gt;
    }&lt;br /&gt;
    return sb;&lt;br /&gt;
  }&lt;br /&gt;
  public static boolean sleep(long millis) {&lt;br /&gt;
    try {&lt;br /&gt;
      Thread.sleep(millis);&lt;br /&gt;
      return true;&lt;br /&gt;
    } catch (InterruptedException e) {&lt;br /&gt;
      return false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**&lt;br /&gt;
 * BlueCove - Java library for Bluetooth Copyright (C) 2006-2008 Vlad&lt;br /&gt;
 * Skarzhevskyy&lt;br /&gt;
 * &lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
 * contributor license agreements. See the NOTICE file distributed with this&lt;br /&gt;
 * work for additional information regarding copyright ownership. The ASF&lt;br /&gt;
 * licenses this file to you under the Apache License, Version 2.0 (the&lt;br /&gt;
 * &amp;quot;License&amp;quot;); you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 * &lt;br /&gt;
 * http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 * &lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS, WITHOUT&lt;br /&gt;
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the&lt;br /&gt;
 * License for the specific language governing permissions and limitations under&lt;br /&gt;
 * the License.&lt;br /&gt;
 * &lt;br /&gt;
 * @author vlads&lt;br /&gt;
 * @version $Id: StringUtils.java 2655 2008-12-24 16:04:37Z skarzhevskyy $&lt;br /&gt;
 */&lt;br /&gt;
class StringUtils {&lt;br /&gt;
  public static boolean isStringSet(String str) {&lt;br /&gt;
    return ((str != null) &amp;amp;&amp;amp; (str.length() &amp;gt; 0));&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * String.equalsIgnoreCase() was added only Since CLDC-1.1.&lt;br /&gt;
   * &lt;br /&gt;
   * @param anotherString&lt;br /&gt;
   * @return&lt;br /&gt;
   */&lt;br /&gt;
  public static boolean equalsIgnoreCase(String s1, String s2) {&lt;br /&gt;
    if ((s1 == null) || (s2 == null)) {&lt;br /&gt;
      return false;&lt;br /&gt;
    }&lt;br /&gt;
    return (s1.length() == s2.length()) &amp;amp;&amp;amp; (s1.toUpperCase().equals(s2.toUpperCase()));&lt;br /&gt;
  }&lt;br /&gt;
  public static String d00(int i) {&lt;br /&gt;
    if ((i &amp;gt; 9) || (i &amp;lt; 0)) {&lt;br /&gt;
      return String.valueOf(i);&lt;br /&gt;
    } else {&lt;br /&gt;
      return &amp;quot;0&amp;quot; + String.valueOf(i);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static StringBuffer appendD00(StringBuffer sb, int i) {&lt;br /&gt;
    if ((i &amp;gt; 9) || (i &amp;lt; 0)) {&lt;br /&gt;
      sb.append(String.valueOf(i));&lt;br /&gt;
    } else {&lt;br /&gt;
      sb.append(&amp;quot;0&amp;quot;).append(String.valueOf(i));&lt;br /&gt;
    }&lt;br /&gt;
    return sb;&lt;br /&gt;
  }&lt;br /&gt;
  public static String d000(int i) {&lt;br /&gt;
    if ((i &amp;gt; 99) || (i &amp;lt; 0)) {&lt;br /&gt;
      return String.valueOf(i);&lt;br /&gt;
    } else if (i &amp;gt; 9) {&lt;br /&gt;
      return &amp;quot;0&amp;quot; + String.valueOf(i);&lt;br /&gt;
    } else {&lt;br /&gt;
      return &amp;quot;00&amp;quot; + String.valueOf(i);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static StringBuffer appendD000(StringBuffer sb, int i) {&lt;br /&gt;
    if ((i &amp;gt; 99) || (i &amp;lt; 0)) {&lt;br /&gt;
      sb.append(String.valueOf(i));&lt;br /&gt;
    } else if (i &amp;gt; 9) {&lt;br /&gt;
      sb.append(&amp;quot;0&amp;quot;).append(String.valueOf(i));&lt;br /&gt;
    } else {&lt;br /&gt;
      sb.append(&amp;quot;0&amp;quot;).append(&amp;quot;0&amp;quot;).append(String.valueOf(i));&lt;br /&gt;
    }&lt;br /&gt;
    return sb;&lt;br /&gt;
  }&lt;br /&gt;
  public static String d0000(int i) {&lt;br /&gt;
    if ((i &amp;gt; 999) || (i &amp;lt; 0)) {&lt;br /&gt;
      return String.valueOf(i);&lt;br /&gt;
    } else if (i &amp;gt; 99) {&lt;br /&gt;
      return &amp;quot;00&amp;quot; + String.valueOf(i);&lt;br /&gt;
    } else if (i &amp;gt; 9) {&lt;br /&gt;
      return &amp;quot;00&amp;quot; + String.valueOf(i);&lt;br /&gt;
    } else {&lt;br /&gt;
      return &amp;quot;000&amp;quot; + String.valueOf(i);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static String formatLong(long l) {&lt;br /&gt;
    if (l &amp;lt; 1000) {&lt;br /&gt;
      return Long.toString(l);&lt;br /&gt;
    }&lt;br /&gt;
    long l1K = (l / 1000);&lt;br /&gt;
    if (l1K &amp;lt; 1000) {&lt;br /&gt;
      return Long.toString(l1K) + &amp;quot;,&amp;quot; + StringUtils.d000((int) (l - 1000L * l1K));&lt;br /&gt;
    } else {&lt;br /&gt;
      long l1M = (l1K / 1000);&lt;br /&gt;
      return Long.toString(l1M) + &amp;quot;,&amp;quot; + StringUtils.d000((int) (l1K - 1000L * l1M)) + &amp;quot;,&amp;quot;&lt;br /&gt;
          + StringUtils.d000((int) (l - 1000L * l1K));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static String toHex00String(int c) {&lt;br /&gt;
    String s = Integer.toHexString(c);&lt;br /&gt;
    if (s.length() == 1) {&lt;br /&gt;
      return &amp;quot;0&amp;quot; + s;&lt;br /&gt;
    } else {&lt;br /&gt;
      return s;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static String padRight(String str, int length, char c) {&lt;br /&gt;
    int l = str.length();&lt;br /&gt;
    if (l &amp;gt;= length) {&lt;br /&gt;
      return str;&lt;br /&gt;
    }&lt;br /&gt;
    StringBuffer sb = new StringBuffer();&lt;br /&gt;
    sb.append(str);&lt;br /&gt;
    for (int i = l; i &amp;lt; length; i++) {&lt;br /&gt;
      sb.append(c);&lt;br /&gt;
    }&lt;br /&gt;
    return sb.toString();&lt;br /&gt;
  }&lt;br /&gt;
  public static char printable(char c) {&lt;br /&gt;
    if (c &amp;lt; &amp;quot; &amp;quot;) {&lt;br /&gt;
      return &amp;quot; &amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
      return c;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static String toBinaryText(StringBuffer buf) {&lt;br /&gt;
    boolean bufHasBinary = false;&lt;br /&gt;
    int len = buf.length();&lt;br /&gt;
    for (int i = 0; i &amp;lt; len; i++) {&lt;br /&gt;
      if (buf.charAt(i) &amp;lt; &amp;quot; &amp;quot;) {&lt;br /&gt;
        bufHasBinary = true;&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    if (bufHasBinary) {&lt;br /&gt;
      StringBuffer formatedDataBuf = new StringBuffer();&lt;br /&gt;
      for (int k = 0; k &amp;lt; len; k++) {&lt;br /&gt;
        formatedDataBuf.append(printable(buf.charAt(k)));&lt;br /&gt;
      }&lt;br /&gt;
      formatedDataBuf.append(&amp;quot; 0x[&amp;quot;);&lt;br /&gt;
      for (int k = 0; k &amp;lt; len; k++) {&lt;br /&gt;
        formatedDataBuf.append(toHex00String(buf.charAt(k))).append(&amp;quot; &amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      formatedDataBuf.append(&amp;quot;]&amp;quot;);&lt;br /&gt;
      buf = formatedDataBuf;&lt;br /&gt;
    }&lt;br /&gt;
    return buf.toString();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get system time using System class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    long lnSystemTime = System.currentTimeMillis();&lt;br /&gt;
    System.out.println(&amp;quot;Milliseconds since midnight, January 1, 1970 UTC : &amp;quot; + lnSystemTime);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get time in milliseconds using Java Calendar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.util.Calendar;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Calendar now = Calendar.getInstance();&lt;br /&gt;
    System.out.println(&amp;quot;Current milliseconds since Jan 1, 1970 are :&amp;quot; + now.getTimeInMillis());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== java.util.concurrent.TimeUnit: convert between milliseconds and days ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.util.Calendar;&lt;br /&gt;
import java.util.concurrent.TimeUnit;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static long getDifference(Calendar a, Calendar b, TimeUnit units) {&lt;br /&gt;
    return units.convert(b.getTimeInMillis() - a.getTimeInMillis(), TimeUnit.MILLISECONDS);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Calendar first = Calendar.getInstance();&lt;br /&gt;
    first.set(2008, Calendar.AUGUST, 1);&lt;br /&gt;
    Calendar second = Calendar.getInstance();&lt;br /&gt;
    System.out.println(getDifference(first, second, TimeUnit.DAYS) + &amp;quot; day(s) between &amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>