码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA calender 的使用实现查询一个月的第1天和最后一天,学的是技巧。

时间:2015-06-27 09:51:37      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:java   class   

Calender的使用:
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天和最后一天,学的是技巧。

标签:java   class   

原文地址:http://blog.csdn.net/sai739295732/article/details/46655565

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!