JAVA日期操作类

import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Calendar;
public class DateCenter {
	/**
	 * 字符转日期
	 * @param str
	 * @return
	 */
	public static Date getDate(String str){
		Date outDate = new Date();
		try{
			java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
			outDate = sf.parse(str);
			//sf.getCalendar().MONTH;
			//  System.out.println(sf.getCalendar().YEAR);
			sf.getCalendar().get(sf.getCalendar().YEAR);
			return outDate;
		}catch(Exception ex){
			
			java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
			try {
				outDate = sf.parse("1900-01-01");
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println(ex);
		}
		return outDate;
		
		
	}
	public static Date getDateThrows(String str) throws ParseException{
		Date outDate = new Date();
	
		java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
		outDate = sf.parse(str);
		//sf.getCalendar().MONTH;
		//  System.out.println(sf.getCalendar().YEAR);
		sf.getCalendar().get(sf.getCalendar().YEAR);		
		return outDate;
	}
	/**
	 * 如果格式不正确 返回null
	 * @param str
	 * @return
	 */
	public static Date getDateNull(String str){
		Date outDate = new Date();
	
		java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
		try {
			outDate = sf.parse(str);
		} catch (ParseException e) {
			outDate = null;
			// TODO Auto-generated catch block
			//e.printStackTrace();
			System.out.println(str + " 日期不符合 yyyy-MM-dd 格式" );
		}
		//sf.getCalendar().MONTH;
		//  System.out.println(sf.getCalendar().YEAR);
		sf.getCalendar().get(sf.getCalendar().YEAR);		
		return outDate;
	}
	/**
	 * 获得本月的第一天 2007-07-15 返回 2007-07-01
	 * @param str
	 * @return
	 */
	public static Date getDateSign(String datestr){
	
			Date dateSign=new Date();
		try {
			java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
			dateSign = sf.parse(datestr);
			dateSign.setDate(1);
		}catch(Exception ex){
			System.out.println(ex);
		}
		return dateSign;
	}
	/**
	 * 获得日期的年份
	 * @param str
	 * @return
	 */
	public static String getYear(String str){
		String returnStr ="";
			Date outDate = new Date();
		try{
			java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
			outDate = sf.parse(str);
			//sf.getCalendar().MONTH;
			
			returnStr = ""+sf.getCalendar().get(Calendar.YEAR);
			
		}catch(Exception ex){
			System.out.println(ex);
		}
		return returnStr;
		
	}
	/**
	 * 获得日期的月份
	 * @param str
	 * @return
	 */
	public static String getMonth(String str){
		String returnStr ="";
			Date outDate = new Date();
		try{
			java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
			outDate = sf.parse(str);
			//sf.getCalendar().MONTH;
			int month = sf.getCalendar().get(Calendar.MONTH)+1;
			returnStr = ""+month;
			
		}catch(Exception ex){
			System.out.println(ex);
		}
		return returnStr;
		
	}
	/**
	 * 获得日期的天数
	 * @param str
	 * @return
	 */
	public static String getDays(String str){
		String returnStr ="";
			Date outDate = new Date();
		try{
			java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
			outDate = sf.parse(str);
			//sf.getCalendar().MONTH;
			int days = sf.getCalendar().get(Calendar.DAY_OF_MONTH);
			returnStr = ""+days;
			
		}catch(Exception ex){
			System.out.println(ex);
		}
		return returnStr;
		
	}
	/**
	 * 日期 转字符
	 * @param str
	 * @return
	 */
	public static String getDateStr(Date _date){
		String strDate ="";
		try{
			java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
			strDate = sf.format(_date);			
		}catch(Exception ex){
			System.out.println(ex);
		}
		//System.out.println("xxxxxxx" + strDate);
		return strDate;
		
	}
	
	public static String getDateTimeStr(Date _date){
		String strDate ="";
		try{
			java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			strDate = sf.format(_date);			
		}catch(Exception ex){
			System.out.println(ex);
		}
		//System.out.println("xxxxxxx" + strDate);
		return strDate;
		
	}
	
	/**
	 * 获得中文的星期几
	 * @param str
	 * @return
	 */
	public static String getDays_cn(Date _date){
		String str = "";
		int days = _date.getDay();
		if(days==0){
			str= "星期天";
		}else if(days==1){
			str= "星期一";
		}else if(days==2){
			str= "星期二";
		}else if(days==3){
			str= "星期三";
		}else if(days==4){
			str= "星期四";
		}else if(days==5){
			str= "星期五";
		}else if(days==6){
			str= "星期六";
		}
		return str;
		
		
	}
	/**
	 * 获得中文的周几
	 * @param str
	 * @return
	 */
	public static String getDays_cn2(Date _date){
		String str = "";
		int days = _date.getDay();
		if(days==0){
			str= "周日";
		}else if(days==1){
			str= "周一";
		}else if(days==2){
			str= "周二";
		}else if(days==3){
			str= "周三";
		}else if(days==4){
			str= "周四";
		}else if(days==5){
			str= "周五";
		}else if(days==6){
			str= "周六";
		}
		return str;
		
		
	}
	
	String _________月份__________ ="";
	/**
	 * 获得本月的第一天
	 * @param date
	 * @return
	 */
	public static Date getFirstDateInMonth(Date date){
		Date outDate = null;
		java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
		sf.format(date);
		sf.getCalendar().set(sf.getCalendar().DAY_OF_MONTH, 1);
		
		outDate =sf.getCalendar().getTime();
		return outDate;
		
	}
	/**
	 * 获得本月的最后一天
	 * @param date
	 * @return
	 */
	public static Date getLastDateInMonth(Date date){
		
		java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
		sf.format(date);
		// sf.getCalendar().set(sf.getCalendar().DAY_OF_MONTH, 1);
		// 月份+1 日期 -1 获得 本月最后一天的效果
		sf.getCalendar().add(sf.getCalendar().MONTH, 1);
		sf.getCalendar().set(sf.getCalendar().DAY_OF_MONTH, 1);
		//  
		sf.getCalendar().add(sf.getCalendar().DAY_OF_MONTH, -1);
		Date outDate =sf.getCalendar().getTime();
		return outDate;
		
	}
	public static Date addMonth(Date date){
		
		java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyy-MM-dd");
		sf.format(date);
		// sf.getCalendar().set(sf.getCalendar().DAY_OF_MONTH, 1);
		// 月份+1 日期 -1 获得 本月最后一天的效果
		sf.getCalendar().add(sf.getCalendar().MONTH, 1);
		
		Date outDate =sf.getCalendar().getTime();
		return outDate;
		
	}
	/**
	 * 年份下拉框
	 * @param str
	 * @return
	 */
	public static ArrayList getYearsSelectOptions(){		
		
		ArrayList ar01 = new ArrayList();
		add_item(ar01,"2009","2009");
		add_item(ar01,"2010","2010");
		add_item(ar01,"2011","2011");
		
		return ar01;
	}
	
	public static ArrayList getMonthSelectOptions(){
		ArrayList ar01 = new ArrayList();
		add_item(ar01,"1","01");
		add_item(ar01,"2","02");
		add_item(ar01,"3","03");
		add_item(ar01,"4","04");
		add_item(ar01,"5","05");
		add_item(ar01,"6","06");
		add_item(ar01,"7","07");
		add_item(ar01,"8","08");
		add_item(ar01,"9","09");
		add_item(ar01,"10","10");
		add_item(ar01,"11","11");
		add_item(ar01,"12","12");

		
		return ar01;
		
	}
	private static void add_item(List list,String itemName,String itemValue){
		Item _Item = new Item();
		_Item.setItemName(itemName);
		_Item.setItemValue(itemValue);
		list.add(_Item);
		
		
	}
	/**
	 * 添加 orcle 数据库中查询日期的 to_char 字符串等。。。
	 * @param dateCol 类似 bwyBt.gwyFfjl.datesign
	 * @return
	 */	
	public static String append_Oracle_DateCol_str(String dateCol){
		return "to_char("+dateCol+",'yyyy-MM-dd')";
	}
	/**
	 *  添加 orcle 数据库中查询日期
	 * @param dateCol bwyBt.gwyFfjl.datesign
	 * @param dateStrValue 2009-1-1
	 * @return
	 */
	public static String append_Oracle_DateCol_Euqals_DateStr(String dateCol,String dateStrValue){
		return "to_char("+dateCol+",'yyyy-MM-dd')"+"='"+dateStrValue+"'";
	}
	/**
	 * 添加 orcle 数据库中查询日期的 to_date 字符串等。。。
	 * @param dateCol 类似 bwyBt.gwyFfjl.datesign
	 * @return
	 */	
	public static String append_Oracle_toDateCol_str(String datestr){
		return "to_date('"+datestr+"','yyyy-MM-dd')";
	}
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值