package test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List; public class test { public static void main(String[] args) throws ParseException { List<String> list = getTime("2015-06-26", "2014-02-14"); System.out.println(list); getTime("2015-06-26"); } //查询时间段所在的月时间段。这个可能用到月目标业绩 public static List<String> getTime (String startTime,String endTime) throws ParseException{ List<String> list = new ArrayList<String>(); SimpleDateFormat startSdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar can = Calendar.getInstance(); can.setTime(startSdf.parse(startTime)); can.set(Calendar.DAY_OF_MONTH, 1); System.out.println(startSdf.format(can.getTime())); list.add(startSdf.format(can.getTime())); can.setTime(startSdf.parse(endTime)); can.set(Calendar.DAY_OF_MONTH, 1); can.roll(Calendar.DAY_OF_MONTH, -1); System.out.println(startSdf.format(can.getTime())+" 23:59:59"); list.add(startSdf.format(can.getTime())+" 23:59:59"); return list; } public static void getTime (String nowTime) throws ParseException{ //时间格式话 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //生成Calender的对象 Calendar can = Calendar.getInstance(); //将日历翻到当前的时间 can.setTime(sdf.parse(nowTime)); //设置天是月的第一天 can.set(Calendar.DAY_OF_MONTH, 1); System.out.println("时间的nowTime 月的第一天:"+sdf.format(can.getTime())); /** * 输出的结果: * 时间的nowTime 月的第一天:2015-06-01 */ //如果是想将将加一天 或者是减一天,这是可以用add,和roll这两个函数 //add方法 can.add(Calendar.DAY_OF_MONTH, 1); System.out.println("时间的nowTime 加一天:"+sdf.format(can.getTime())); can.add(Calendar.DAY_OF_MONTH, -1); System.out.println("时间的nowTime 减一天:"+sdf.format(can.getTime())); //roll方法 can.roll(Calendar.DAY_OF_MONTH, 1); System.out.println("时间的nowTime 加一天:"+sdf.format(can.getTime())); can.roll(Calendar.DAY_OF_MONTH, -1); System.out.println("时间的nowTime 减一天:"+sdf.format(can.getTime())); /** * 输出的结果: * 时间的nowTime 加一天:2015-06-02 * 时间的nowTime 减一天:2015-06-01 * 时间的nowTime 加一天:2015-06-02 * 时间的nowTime 减一天:2015-06-01 */ //有人会问add和roll有什么区别 //这是我会对他说roll是循环的意思,这也是他和add的区别所在roll会根据Calendar.DAY_OF_MONTH 这个只进行循环 //怎么个循环呢?比如如下代码:现在我将日历调整到2015-06-01我做减一天的操作 can.roll(Calendar.DAY_OF_MONTH, -1); System.out.println("时间的nowTime 减一天:"+sdf.format(can.getTime())); can.add(Calendar.DAY_OF_MONTH, 1); System.out.println("时间的nowTime 减一天:"+sdf.format(can.getTime())); /** * 这是输出的结果: * 时间的nowTime 减一天:2015-06-30 * 时间的nowTime 减一天:2015-07-01 */ //所以可以利用这个roll 进行确定某个月的第一天和最后一天。 } }谢谢大家的支持与厚爱我会继续加油的!~
版权声明:本文为博主原创文章,未经博主允许不得转载。
JAVA calender 的使用实现查询一个月的第1天和最后一天,学的是技巧。
原文地址:http://blog.csdn.net/sai739295732/article/details/46655565