首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

获取当前日期的前四个季度,其后在获取这四个季度的开始时间和结束时间

2012-11-07 
获取当前日期的前四个季度,然后在获取这四个季度的开始时间和结束时间根据当前的日期,获取该日期前面的四

获取当前日期的前四个季度,然后在获取这四个季度的开始时间和结束时间
根据当前的日期,获取该日期前面的四个季度。然后在获取这四个季度开始日期和结束日期。例如:2012-10-15,获取10月份前面的四个季度。10、11、12,1、2、3,4、5、6,7、8、9,然后在获取10月1号,和9月的最后一天。希望各位大侠帮忙一下。这个如何去实现

[解决办法]

Java code
import java.text.SimpleDateFormat;import java.util.Calendar;public class T2 {    public static void main(String[] args) {        Calendar c = Calendar.getInstance();                int m = c.get(Calendar.MONTH) + 1;            //月份        int s = (int)Math.ceil( (m - 1)  / 3) + 1;     //季度        System.out.println(s);        int em = (s - 1) * 3;                        //上一个季度最后一个月                Calendar sc = Calendar.getInstance();        sc.setTimeInMillis(c.getTimeInMillis());        sc.set(Calendar.MONTH, em);        sc.set(Calendar.DAY_OF_MONTH, 1);        sc.set(Calendar.HOUR_OF_DAY, 0);        sc.set(Calendar.MINUTE, 0);        sc.set(Calendar.SECOND, 0);        sc.set(Calendar.MILLISECOND, 0);        sc.add(Calendar.MILLISECOND, -1);        out(sc);//结束时间                Calendar ec = Calendar.getInstance();        ec.setTimeInMillis(c.getTimeInMillis());        ec.set(Calendar.MONTH, em - 1);    //month 基于0,一月的值是0        ec.set(Calendar.DAY_OF_MONTH, 1);        ec.set(Calendar.HOUR_OF_DAY, 0);        ec.set(Calendar.MINUTE, 0);        ec.set(Calendar.SECOND, 0);        ec.set(Calendar.MILLISECOND, 0);        ec.add(Calendar.MONTH, -11);     //向前12个月,但是-11        out(ec);//开始时间            }        protected static void out(Calendar c){        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String str = sdf.format(c.getTime());        System.out.println(str);    }    } 

热点排行