<rdf:RDF
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xml:base='http://wiki.marandcustomsolutions.com/rdf'>
    <s:Snip rdf:about='http://wiki.marandcustomsolutions.com/rdf#Development/Java+%26+J2EE/TimeDifference'
         s:cUser='mpecher'
         s:oUser=''
         s:mUser='mpecher'>
        <s:name>Development/Java &amp; J2EE/TimeDifference</s:name>
        <s:content>Work out time difference in Days: Hours : Mins : Sec&#xD;&#xA;{code}&#xD;&#xA; /**&#xD;&#xA;     *  test getNumberOfWindowFirstPage&#xD;&#xA;     */&#xD;&#xA;    public void testGetNumberOfWindowFirstPage() {&#xD;&#xA;&#xD;&#xA;        Calendar cal = Calendar.getInstance();&#xD;&#xA;&#xD;&#xA;        System.out.println(&quot;Seconds: 15&quot;);&#xD;&#xA;        cal.add(Calendar.SECOND, 15);&#xD;&#xA;        System.out.println(printDifference(cal.getTime()));&#xD;&#xA;&#xD;&#xA;        System.out.println(&quot;min 1, 15sec&quot;);&#xD;&#xA;        cal.add(Calendar.MINUTE, 1);&#xD;&#xA;        System.out.println(printDifference(cal.getTime()));&#xD;&#xA;&#xD;&#xA;        System.out.println(&quot;Minutes: 59:15&quot;);&#xD;&#xA;        cal.add(Calendar.MINUTE, 58);&#xD;&#xA;        System.out.println(printDifference(cal.getTime()));&#xD;&#xA;&#xD;&#xA;        cal = Calendar.getInstance();&#xD;&#xA;        System.out.println(&quot;Minutes: 158&quot;);&#xD;&#xA;        cal.add(Calendar.MINUTE, 158);&#xD;&#xA;        System.out.println(printDifference(cal.getTime()));&#xD;&#xA;&#xD;&#xA;        cal = Calendar.getInstance();&#xD;&#xA;        System.out.println(&quot;Minutes: 1480&quot;);&#xD;&#xA;        cal.add(Calendar.MINUTE, 1480);&#xD;&#xA;        System.out.println(printDifference(cal.getTime()));&#xD;&#xA;&#xD;&#xA;        cal = Calendar.getInstance();&#xD;&#xA;        System.out.println(&quot;Minutes: 1830&quot;);&#xD;&#xA;        cal.add(Calendar.MINUTE, 1830);&#xD;&#xA;        System.out.println(printDifference(cal.getTime()));&#xD;&#xA;&#xD;&#xA;        cal = Calendar.getInstance();&#xD;&#xA;        System.out.println(&quot;Minutes: 4450&quot;);&#xD;&#xA;        cal.add(Calendar.MINUTE, 4450);&#xD;&#xA;        System.out.println(printDifference(cal.getTime()));&#xD;&#xA;&#xD;&#xA;        cal = Calendar.getInstance();&#xD;&#xA;        System.out.println(&quot;Minutes: -100&quot;);&#xD;&#xA;        cal.add(Calendar.MINUTE, -100);&#xD;&#xA;        System.out.println(printDifference(cal.getTime()));&#xD;&#xA;&#xD;&#xA;        cal = Calendar.getInstance();&#xD;&#xA;        System.out.println(&quot;2days::22hrs::33mins::15sec&quot;);&#xD;&#xA;//        cal.add(Calendar.DATE, 2);&#xD;&#xA;//        cal.add(Calendar.HOUR, 22);&#xD;&#xA;        cal.add(Calendar.MINUTE, 33);&#xD;&#xA;        cal.add(Calendar.SECOND, 15);&#xD;&#xA;        System.out.println(printDifference(cal.getTime()));&#xD;&#xA;&#xD;&#xA;    }&#xD;&#xA;&#xD;&#xA;    private String printDifference(Date upComing) {&#xD;&#xA;        final int milli = 1000;&#xD;&#xA;        final int sec = milli;&#xD;&#xA;        final int min = 60 * milli;&#xD;&#xA;        final int hour = 60 * min;&#xD;&#xA;        final int day = 24 * hour;&#xD;&#xA;&#xD;&#xA;        Date now = new Date();&#xD;&#xA;        String output = &quot;&quot;;&#xD;&#xA;&#xD;&#xA;        //difference&#xD;&#xA;        long difference = upComing.getTime() - now.getTime();&#xD;&#xA;        if (difference &lt; 1) {&#xD;&#xA;            return &quot;0sec&quot;;&#xD;&#xA;        }&#xD;&#xA;&#xD;&#xA;        //days&#xD;&#xA;        long days = difference / day;&#xD;&#xA;        System.out.println(&quot;days:&quot; + days);&#xD;&#xA;//        if (days &gt; 1) {&#xD;&#xA;//            output = output + &quot; &quot; + days + &quot;days&quot;;&#xD;&#xA;//        } else if (days == 1) {&#xD;&#xA;//            output = output + &quot; &quot; + days + &quot;day&quot;;&#xD;&#xA;//        }&#xD;&#xA;        if (days &gt; 1) {&#xD;&#xA;            output = output + &quot; &quot; + days + &quot;d&quot;;&#xD;&#xA;        }&#xD;&#xA;        //hours&#xD;&#xA;        long hours = (difference % day) / hour;&#xD;&#xA;        System.out.println(&quot;hours:&quot; + hours);&#xD;&#xA;//        if (hours &gt; 1) {&#xD;&#xA;//            output = output + &quot; &quot; + hours + &quot;hrs&quot;;&#xD;&#xA;//        } else if (hours == 1) {&#xD;&#xA;//            output = output + &quot; &quot; + hours + &quot;hr&quot;;&#xD;&#xA;//        }&#xD;&#xA;        if (hours &gt; 1) {&#xD;&#xA;            output = output + &quot; &quot; + hours + &quot;h&quot;;&#xD;&#xA;        }&#xD;&#xA;&#xD;&#xA;        //only do minutes and seconds if not days&#xD;&#xA;        if (days == 0) {&#xD;&#xA;            long mins = (difference % hour) / min;&#xD;&#xA;&#xD;&#xA;            System.out.println(&quot;mins:&quot; + mins);&#xD;&#xA;//            if (mins &gt; 1) {&#xD;&#xA;//                output = output + &quot; &quot; + mins + &quot;mins&quot;;&#xD;&#xA;//            } else if (mins == 1) {&#xD;&#xA;//                output = output + &quot; &quot; + mins + &quot;min&quot;;&#xD;&#xA;//            }&#xD;&#xA;            output = output + &quot; &quot; + mins + &quot;m&quot;;&#xD;&#xA;&#xD;&#xA;            if (hours == 0) {&#xD;&#xA;                //only do secconds if no hours&#xD;&#xA;                long secs = (difference % min) / sec;&#xD;&#xA;                System.out.println(&quot;secs:&quot; + secs);&#xD;&#xA;&#xD;&#xA;//                if (secs &gt; 1) {&#xD;&#xA;//                    output = output + &quot; &quot; + secs + &quot;secs&quot;;&#xD;&#xA;//                } else if (secs == 1) {&#xD;&#xA;//                    output = output + &quot; &quot; + secs + &quot;sec&quot;;&#xD;&#xA;//                }&#xD;&#xA;              output = output + &quot; &quot; + secs + &quot;s&quot;;&#xD;&#xA;&#xD;&#xA;            }&#xD;&#xA;        }&#xD;&#xA;        return output;&#xD;&#xA;&#xD;&#xA;    }&#xD;&#xA;&#xD;&#xA;{code}</s:content>
        <s:mTime>2006-08-13 11:31:37.0</s:mTime>
        <s:cTime>2006-08-13 11:31:37.0</s:cTime>
        <s:comments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <s:snipLinks>
            <rdf:Bag>
                <rdf:li rdf:resource='#snipsnap-index'/>
                <rdf:li rdf:resource='#Development'/>
                <rdf:li rdf:resource='http://wiki.marandcustomsolutions.com/rdf#Development/Java &amp; J2EE'/>
                <rdf:li rdf:resource='http://wiki.marandcustomsolutions.com/rdf#Development/Java &amp; J2EE/TimeDifference/'/>
                <rdf:li rdf:resource='http://wiki.marandcustomsolutions.com/rdf#Development/Java &amp; J2EE/Spring/Enums'/>
                <rdf:li rdf:resource='http://wiki.marandcustomsolutions.com/rdf#snipsnap-index/'/>
            </rdf:Bag>
        </s:snipLinks>
        <s:attachments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
    </s:Snip>
</rdf:RDF>

