<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Java Calendar and Date Operations</title>
	<atom:link href="http://blog.unidev.com/index.php/2008/02/11/java-date-operations/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.unidev.com/index.php/2008/02/11/java-date-operations/</link>
	<description>News and Java Technology</description>
	<lastBuildDate>Wed, 02 Jun 2010 19:18:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Puknort</title>
		<link>http://blog.unidev.com/index.php/2008/02/11/java-date-operations/comment-page-1/#comment-12806</link>
		<dc:creator>Puknort</dc:creator>
		<pubDate>Mon, 03 May 2010 13:22:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.unidev.com/index.php/2008/02/11/java-date-operations/#comment-12806</guid>
		<description>Nikstiep say: Same already discussed recently
 
_____________
&lt;a href=&quot;http://vigara.rx-tadacip.info/site_map.html&quot; rel=&quot;nofollow&quot;&gt;vigara
 gernic
  0&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Nikstiep say: Same already discussed recently</p>
<p>_____________<br />
<a href="http://vigara.rx-tadacip.info/site_map.html" rel="nofollow">vigara<br />
 gernic<br />
  0</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: narmjoymn</title>
		<link>http://blog.unidev.com/index.php/2008/02/11/java-date-operations/comment-page-1/#comment-12400</link>
		<dc:creator>narmjoymn</dc:creator>
		<pubDate>Tue, 30 Mar 2010 12:34:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.unidev.com/index.php/2008/02/11/java-date-operations/#comment-12400</guid>
		<description>&lt;a href=&quot;http://www.smelldelicious.com/womens-perfume-s/1.htm&quot; rel=&quot;nofollow&quot;&gt;http://www.smelldelicious.com/v/vspfiles/templates/Perfume2/images/logos/dg.gif&lt;/a&gt;

Hello Everybody

During bday season when your searching for his &amp; her special occasion &lt;a href=&quot;http://smelldelicious.com&quot; rel=&quot;nofollow&quot;&gt; &lt;b&gt;womens presents&lt;/b&gt;&lt;/a&gt; you may need help finding the most current &lt;a href=&quot;http://www.smelldelicious.com&quot; rel=&quot;nofollow&quot;&gt;&lt;b&gt;fragrances&lt;/b&gt;&lt;/a&gt; for your girlfriend, wife, husband or...just a special person.  There is a simple solution for locating the top &lt;a href=&quot;http://www.smelldelicious.com/mens-cologne-s/2.htm&quot; rel=&quot;nofollow&quot;&gt;&lt;b&gt;fragrances&lt;/b&gt;&lt;/a&gt; &amp; &lt;a href=&quot;http://www.smelldelicious.com/haircare-s/6.htm&quot; rel=&quot;nofollow&quot;&gt;&lt;b&gt;birthday gifts&lt;/b&gt;&lt;/a&gt; - despite the fact that there are millions of colognes &amp; perfumes on the list to potentially choose.  

&lt;b&gt;www.SmellDelicious.com&lt;/b&gt; online store specializes in Men&#039;s Gift Sets &amp; has &lt;a href=&quot;http://www.smelldelicious.com&quot; rel=&quot;nofollow&quot;&gt;&lt;b&gt;Lolita Lempicka&lt;/b&gt;&lt;/a&gt; &amp; &lt;a href=&quot;http://smelldelicious.com&quot; rel=&quot;nofollow&quot;&gt;&lt;b&gt;Swiss Alpine&lt;/b&gt;&lt;/a&gt; and thousands of additional womens fragrances.

&lt;b&gt;An example of our &lt;a href=&quot;http://www.smelldelicious.com/womens-perfume-s/1.htm&quot; rel=&quot;nofollow&quot;&gt; gift set perfumes &amp; colognes&lt;/a&gt;&lt;/b&gt; - &lt;b&gt;A Superior decision for a special relative&lt;/b&gt; 
Jean Patou &amp; Jean Paul Gaultier &amp; Diane von Furstenberg &amp; Diesel &amp; Kenneth Cole &amp; Kenzo &amp; Leonard &amp; Mary Kate and Ashley &amp; Liz Claiborne &amp; Kiss &amp; Animale Parfums &amp; Anna Sui &amp; Bruno Banani &amp; Burberry &amp; Gendarme &amp; Geoffrey Beene &amp; Entre Filles &amp; Erox &amp; Joan Collins &amp; Jockey International &amp; Chantal Thomass &amp; Charles Jourdan &amp; Cacharel &amp; Caesar&#039;s World &amp; Arrogance Mix &amp; Ashanti &amp; Hard Candy &amp; Hasbro &amp; Kenneth Cole &amp; Kenzo &amp; Parfums Morgan &amp; Mexx &amp; Krizia &amp; MauboussinMax Azria.

&lt;a href=&quot;http://www.smelldelicious.com/skincare-s/5.htm&quot; rel=&quot;nofollow&quot;&gt;http://www.perfume.com/images/family_banners/fresh_men.jpg?1268443664&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p><a href="http://www.smelldelicious.com/womens-perfume-s/1.htm" rel="nofollow">http://www.smelldelicious.com/v/vspfiles/templates/Perfume2/images/logos/dg.gif</a></p>
<p>Hello Everybody</p>
<p>During bday season when your searching for his &amp; her special occasion <a href="http://smelldelicious.com" rel="nofollow"> <b>womens presents</b></a> you may need help finding the most current <a href="http://www.smelldelicious.com" rel="nofollow"><b>fragrances</b></a> for your girlfriend, wife, husband or&#8230;just a special person.  There is a simple solution for locating the top <a href="http://www.smelldelicious.com/mens-cologne-s/2.htm" rel="nofollow"><b>fragrances</b></a> &amp; <a href="http://www.smelldelicious.com/haircare-s/6.htm" rel="nofollow"><b>birthday gifts</b></a> &#8211; despite the fact that there are millions of colognes &amp; perfumes on the list to potentially choose.  </p>
<p><b><a href="http://www.SmellDelicious.com" rel="nofollow">http://www.SmellDelicious.com</a></b> online store specializes in Men&#8217;s Gift Sets &amp; has <a href="http://www.smelldelicious.com" rel="nofollow"><b>Lolita Lempicka</b></a> &amp; <a href="http://smelldelicious.com" rel="nofollow"><b>Swiss Alpine</b></a> and thousands of additional womens fragrances.</p>
<p><b>An example of our <a href="http://www.smelldelicious.com/womens-perfume-s/1.htm" rel="nofollow"> gift set perfumes &amp; colognes</a></b> &#8211; <b>A Superior decision for a special relative</b><br />
Jean Patou &amp; Jean Paul Gaultier &amp; Diane von Furstenberg &amp; Diesel &amp; Kenneth Cole &amp; Kenzo &amp; Leonard &amp; Mary Kate and Ashley &amp; Liz Claiborne &amp; Kiss &amp; Animale Parfums &amp; Anna Sui &amp; Bruno Banani &amp; Burberry &amp; Gendarme &amp; Geoffrey Beene &amp; Entre Filles &amp; Erox &amp; Joan Collins &amp; Jockey International &amp; Chantal Thomass &amp; Charles Jourdan &amp; Cacharel &amp; Caesar&#8217;s World &amp; Arrogance Mix &amp; Ashanti &amp; Hard Candy &amp; Hasbro &amp; Kenneth Cole &amp; Kenzo &amp; Parfums Morgan &amp; Mexx &amp; Krizia &amp; MauboussinMax Azria.</p>
<p><a href="http://www.smelldelicious.com/skincare-s/5.htm" rel="nofollow">http://www.perfume.com/images/family_banners/fresh_men.jpg?1268443664</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kannan</title>
		<link>http://blog.unidev.com/index.php/2008/02/11/java-date-operations/comment-page-1/#comment-12389</link>
		<dc:creator>kannan</dc:creator>
		<pubDate>Mon, 29 Mar 2010 09:15:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.unidev.com/index.php/2008/02/11/java-date-operations/#comment-12389</guid>
		<description>Precise and works well.thanks a lot</description>
		<content:encoded><![CDATA[<p>Precise and works well.thanks a lot</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Manuel Beck</title>
		<link>http://blog.unidev.com/index.php/2008/02/11/java-date-operations/comment-page-1/#comment-12165</link>
		<dc:creator>Manuel Beck</dc:creator>
		<pubDate>Wed, 03 Mar 2010 06:49:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.unidev.com/index.php/2008/02/11/java-date-operations/#comment-12165</guid>
		<description>@VM
Perfect and simple getQuarter-Function. Thanks!</description>
		<content:encoded><![CDATA[<p>@VM<br />
Perfect and simple getQuarter-Function. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: VM</title>
		<link>http://blog.unidev.com/index.php/2008/02/11/java-date-operations/comment-page-1/#comment-11360</link>
		<dc:creator>VM</dc:creator>
		<pubDate>Mon, 28 Dec 2009 15:15:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.unidev.com/index.php/2008/02/11/java-date-operations/#comment-11360</guid>
		<description>Thanks for this article and Thanks Ed for sharing your approach.</description>
		<content:encoded><![CDATA[<p>Thanks for this article and Thanks Ed for sharing your approach.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ed</title>
		<link>http://blog.unidev.com/index.php/2008/02/11/java-date-operations/comment-page-1/#comment-2748</link>
		<dc:creator>Ed</dc:creator>
		<pubDate>Thu, 14 Aug 2008 20:41:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.unidev.com/index.php/2008/02/11/java-date-operations/#comment-2748</guid>
		<description>Hi,

just to share another version of getQuarter(Date date):
public static int getQuarter(Date date)
    {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return (calendar.get(Calendar.MONTH) + 3) / 3;
    }

find begin and end dates of the previous quarter:
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MONTH, -1 - (cal.get(Calendar.MONTH) % 3));
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
        System.out.println(sdf.format(cal.getTime()));

        Calendar cal2 = Calendar.getInstance();
        cal2.add(Calendar.MONTH, -3 - (cal2.get(Calendar.MONTH) % 3));
        cal2.set(Calendar.DAY_OF_MONTH, 1);
        System.out.println(sdf.format(cal2.getTime()));

find begin and end dates of the current quarter:
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MONTH, 2 - (cal.get(Calendar.MONTH) % 3));
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
        System.out.println(sdf.format(cal.getTime()));

        Calendar cal2 = Calendar.getInstance();
        cal2.add(Calendar.MONTH, 0 - (cal2.get(Calendar.MONTH) % 3));
        cal2.set(Calendar.DAY_OF_MONTH, 1);
        System.out.println(sdf.format(cal2.getTime()));

find begin and end dates of the next quarter:
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MONTH, 5 - (cal.get(Calendar.MONTH) % 3));
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
        System.out.println(sdf.format(cal.getTime()));

        Calendar cal2 = Calendar.getInstance();
        cal2.add(Calendar.MONTH, 3 - (cal2.get(Calendar.MONTH) % 3));
        cal2.set(Calendar.DAY_OF_MONTH, 1);
        System.out.println(sdf.format(cal2.getTime()));</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>just to share another version of getQuarter(Date date):<br />
public static int getQuarter(Date date)<br />
    {<br />
        Calendar calendar = Calendar.getInstance();<br />
        calendar.setTime(date);<br />
        return (calendar.get(Calendar.MONTH) + 3) / 3;<br />
    }</p>
<p>find begin and end dates of the previous quarter:<br />
        Calendar cal = Calendar.getInstance();<br />
        cal.add(Calendar.MONTH, -1 &#8211; (cal.get(Calendar.MONTH) % 3));<br />
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));<br />
        System.out.println(sdf.format(cal.getTime()));</p>
<p>        Calendar cal2 = Calendar.getInstance();<br />
        cal2.add(Calendar.MONTH, -3 &#8211; (cal2.get(Calendar.MONTH) % 3));<br />
        cal2.set(Calendar.DAY_OF_MONTH, 1);<br />
        System.out.println(sdf.format(cal2.getTime()));</p>
<p>find begin and end dates of the current quarter:<br />
        Calendar cal = Calendar.getInstance();<br />
        cal.add(Calendar.MONTH, 2 &#8211; (cal.get(Calendar.MONTH) % 3));<br />
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));<br />
        System.out.println(sdf.format(cal.getTime()));</p>
<p>        Calendar cal2 = Calendar.getInstance();<br />
        cal2.add(Calendar.MONTH, 0 &#8211; (cal2.get(Calendar.MONTH) % 3));<br />
        cal2.set(Calendar.DAY_OF_MONTH, 1);<br />
        System.out.println(sdf.format(cal2.getTime()));</p>
<p>find begin and end dates of the next quarter:<br />
        Calendar cal = Calendar.getInstance();<br />
        cal.add(Calendar.MONTH, 5 &#8211; (cal.get(Calendar.MONTH) % 3));<br />
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));<br />
        System.out.println(sdf.format(cal.getTime()));</p>
<p>        Calendar cal2 = Calendar.getInstance();<br />
        cal2.add(Calendar.MONTH, 3 &#8211; (cal2.get(Calendar.MONTH) % 3));<br />
        cal2.set(Calendar.DAY_OF_MONTH, 1);<br />
        System.out.println(sdf.format(cal2.getTime()));</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Josh Martin</title>
		<link>http://blog.unidev.com/index.php/2008/02/11/java-date-operations/comment-page-1/#comment-2047</link>
		<dc:creator>Josh Martin</dc:creator>
		<pubDate>Fri, 09 May 2008 17:17:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.unidev.com/index.php/2008/02/11/java-date-operations/#comment-2047</guid>
		<description>Just thought I&#039;d share a slightly different approach that is class-based and will return the start/end dates of a given quarter.  Note it&#039;s written in Groovy.

Josh

-----------------

import static java.util.Calendar.*

class Quarter {

  Date date
  Date start
  Date end
  int monthInQuarter

  Quarter() {
    this.date = new Date()
    init()
  }

  Quarter(Date date) {
    this.date = date
    init()
  }

  Quarter getNext() {
    Calendar c = Calendar.getInstance()
    c.time = end
    c.add(DATE, 7)
    return new Quarter(c.time)
  }

  Quarter getPrevious() {
    Calendar c = Calendar.getInstance()
    c.time = start
    c.add(DATE, -7)
    return new Quarter(c.time)
  }

  private void init() {
    Calendar c = Calendar.getInstance()
    c.time = date
    int month = c.get(MONTH) + 1 // java uses 0-11 notation
    monthInQuarter = month % 3
    monthInQuarter = (monthInQuarter == 0) ? 3 : monthInQuarter
    calculateStart()
    calculateEnd()
  }

  private void calculateStart() {
    Calendar c = Calendar.getInstance()
    c.time = date
    c.add(MONTH, (1 - monthInQuarter))
    c.set(DATE, 1)
    c.set(HOUR_OF_DAY, 0)
    c.set(MINUTE, 0)
    c.set(SECOND, 0)
    c.set(MILLISECOND, 0)
    start = c.time
  }

  private void calculateEnd() {
    Calendar c = Calendar.getInstance()
    c.time = date
    c.add(MONTH, (3 - monthInQuarter))
    c.set(DATE, c.getActualMaximum(Calendar.DATE))
    c.set(HOUR_OF_DAY, 23)
    c.set(MINUTE, 59)
    c.set(SECOND, 59)
    c.set(MILLISECOND, 999)
    end = c.time
  }

  String toString() {
    String pattern = &#039;(%1$tm-%1$td-%1$tY) %2$tm-%2$td-%2$tY - %3$tm-%3$td-%3$tY&#039;
    return String.format(pattern, date, start, end)
  }

}</description>
		<content:encoded><![CDATA[<p>Just thought I&#8217;d share a slightly different approach that is class-based and will return the start/end dates of a given quarter.  Note it&#8217;s written in Groovy.</p>
<p>Josh</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>import static java.util.Calendar.*</p>
<p>class Quarter {</p>
<p>  Date date<br />
  Date start<br />
  Date end<br />
  int monthInQuarter</p>
<p>  Quarter() {<br />
    this.date = new Date()<br />
    init()<br />
  }</p>
<p>  Quarter(Date date) {<br />
    this.date = date<br />
    init()<br />
  }</p>
<p>  Quarter getNext() {<br />
    Calendar c = Calendar.getInstance()<br />
    c.time = end<br />
    c.add(DATE, 7)<br />
    return new Quarter(c.time)<br />
  }</p>
<p>  Quarter getPrevious() {<br />
    Calendar c = Calendar.getInstance()<br />
    c.time = start<br />
    c.add(DATE, -7)<br />
    return new Quarter(c.time)<br />
  }</p>
<p>  private void init() {<br />
    Calendar c = Calendar.getInstance()<br />
    c.time = date<br />
    int month = c.get(MONTH) + 1 // java uses 0-11 notation<br />
    monthInQuarter = month % 3<br />
    monthInQuarter = (monthInQuarter == 0) ? 3 : monthInQuarter<br />
    calculateStart()<br />
    calculateEnd()<br />
  }</p>
<p>  private void calculateStart() {<br />
    Calendar c = Calendar.getInstance()<br />
    c.time = date<br />
    c.add(MONTH, (1 &#8211; monthInQuarter))<br />
    c.set(DATE, 1)<br />
    c.set(HOUR_OF_DAY, 0)<br />
    c.set(MINUTE, 0)<br />
    c.set(SECOND, 0)<br />
    c.set(MILLISECOND, 0)<br />
    start = c.time<br />
  }</p>
<p>  private void calculateEnd() {<br />
    Calendar c = Calendar.getInstance()<br />
    c.time = date<br />
    c.add(MONTH, (3 &#8211; monthInQuarter))<br />
    c.set(DATE, c.getActualMaximum(Calendar.DATE))<br />
    c.set(HOUR_OF_DAY, 23)<br />
    c.set(MINUTE, 59)<br />
    c.set(SECOND, 59)<br />
    c.set(MILLISECOND, 999)<br />
    end = c.time<br />
  }</p>
<p>  String toString() {<br />
    String pattern = &#8216;(%1$tm-%1$td-%1$tY) %2$tm-%2$td-%2$tY &#8211; %3$tm-%3$td-%3$tY&#8217;<br />
    return String.format(pattern, date, start, end)<br />
  }</p>
<p>}</p>
]]></content:encoded>
	</item>
</channel>
</rss>
