⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data.java

📁 java swing源码 欢迎下载 有问题请联系 我一定负责到底
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	*/	 
	public static String currentdate(){
		Calendar cal = Calendar.getInstance(); 
		int year = cal.get(Calendar.YEAR); 
		int month = cal.get(Calendar.MONTH)+1; 
		int day = cal.get(Calendar.DATE); 

		String currDay=year +"年"+ month +"月"+ day + "日";		
		return currDay; 
	}
	 
	/**
	 * 根据输入的类型对Date型数据行转换
	 * @param orignalDate  输入值
	 * @param dateType  输入类型
	*/ 
	 public static String SQLOutValue(Date orignalDate,String dateType) throws RuntimeException{
	 	String tempValue="";
		if(orignalDate==null){
			return tempValue;
		}
		try{
	 		if(dateType.equals("datetime")){
				tempValue=convertDateToString(orignalDate,"datetime");    
			}else{
				tempValue=convertDateToString(orignalDate,"smalldatetime");	
			}
		}catch(Exception ex){
			throw new RuntimeException(orignalDate+"不能转换成"+dateType+"类型");
		}
	 	return tempValue;
	 }
	 
	/**
	* 将int型数据转换为String型,再对其进行转换
	* @param orignalValue  输入值
	*/ 
	 public static String SQLOutValue(int orignalValue) throws RuntimeException{
	 	return SQLOutValue(orignalValue+"");
	 	
	 }
	/**
	* 判断输入值是否有效
	* @param orignalValue  输入值
	*/ 
	 public static boolean hasValue(String orignalValue){
	 	if(orignalValue==null){
	 		return false;
	 	}else if(orignalValue.equals("")){
	 		return false;
	 	}else if(orignalValue.equalsIgnoreCase("null")){
	 		return false;
	 	}else return true;
	 }
	 
	/**
	 * last modified by lucas on 2003-2-25
	 * compare date function ,only compare yyyy-MM-dd
	 */
	public static int compareDate(Date firstDate,Date secondDate) throws RuntimeException{
		if(firstDate.getYear() > secondDate.getYear()){
			return 1;
		}else if(firstDate.getYear()< secondDate.getYear()){
			return -1;
		}else if(firstDate.getMonth()> secondDate.getMonth()){
				return 1;
			 }else if(firstDate.getMonth()<secondDate.getMonth())
					return -1;
				else if(firstDate.getDate()>secondDate.getDate())
						return 1;
					else if(firstDate.getDate()<secondDate.getDate()){
						return -1;
					}else
						return 0;
					
	}
	/**
	* 两个String类型的日期进行比较
	* @param strFirstDate  第一个日期
	* @param strSecondDate  第二个日期
	*/ 
	public static int compareDate(String strFirstDate,String strSecondDate) throws RuntimeException{
			Date firstDate=convertStringToDate(strFirstDate);
			Date secondDate=convertStringToDate(strSecondDate);
			return compareDate(firstDate,secondDate);
	}
	/**
	* 字符串日期和Date型日期进行比较
	* @param strFirstDate  第一个日期
	* @param secondDate  第二个日期
	*/
	public static int compareDate(String strFirstDate,Date secondDate)throws RuntimeException{
		Date firstDate=convertStringToDate(strFirstDate);
		return compareDate(firstDate,secondDate);
	}
	/**
	* Date型日期和字符串日期进行比较
	* @param firstDate  第一个日期
	* @param strSecondDate  第二个日期
	*/
	public static int compareDate(Date firstDate,String strSecondDate)throws RuntimeException{
		Date secondDate=convertStringToDate(strSecondDate);
		return compareDate(firstDate,secondDate);
	}
	/**
	* 根据输入格式对输入值进行转换
	* @param sdate  输入值
	* @param format  输入格式
	*/
	public static String dateFormat(String sdate, String format){
		
		String format1 = "";		
		if(sdate.indexOf("-")>0)
			format1 = "yyyy-MM-dd";
		else if (sdate.indexOf("/")>0)
			format1 = "dd/mm/yyyy";
		
		else
			format1 = "yyyy年MM月dd日";			

		return dateFormat(sdate,format1,format);		
	}
	/**
	* 将输入值从一种格式转换成另一种格式
	* @param sdate  输入值
	* @param format1  输入格式1
	* @param format2  输入格式2
	*/
	public static String dateFormat(String sdate, String format1,String format2){
		
		SimpleDateFormat df1 = new SimpleDateFormat(format1);
		Date date  = null;
       
		try{
			date = df1.parse(sdate); 
		}catch(ParseException pe){
			pe.printStackTrace();
		}

		Calendar cal = null; 
       
		cal=Calendar.getInstance(); 
		cal.setTime(date);
		
		SimpleDateFormat df2 = new SimpleDateFormat(format2);

		return df2.format(cal.getTime());		
	}
	/**
	* 比较两个日期之间相差多少年、多少月、多少星期、多少天
	* @param compare  w代表星期、m代表月、y代表年,不填代表天
	* @param sdate1  日期1
	* @param sdate2  日期2
	*/
	public static int dateDiff(String compare, String sdate1, String sdate2){
		SimpleDateFormat df1 = null;
		SimpleDateFormat df2 = null;

		if(sdate1.indexOf("-")>0)
			df1 = new SimpleDateFormat("yyyy-MM-dd");
		else
			df1 = new SimpleDateFormat("yyyy年MM月dd日");
			
		if(sdate2.indexOf("-")>0)
			df2 = new SimpleDateFormat("yyyy-MM-dd");
		else
			df2 = new SimpleDateFormat("yyyy年MM月dd日");

		Date date1  = null;
		Date date2  = null;
       
		try{
			date1 = df1.parse(sdate1); 
			date2 = df2.parse(sdate2); 
		}catch (ParseException pe){
			pe.printStackTrace();
		}

		Calendar cal1 = null; 
		Calendar cal2 = null;
       
		cal1=Calendar.getInstance(); 
		cal2=Calendar.getInstance(); 
         
       
		// different date might have different offset
		cal1.setTime(date1);          
		long ldate1 = date1.getTime() + cal1.get(Calendar.ZONE_OFFSET) + cal1.get(Calendar.DST_OFFSET);
       
		cal2.setTime(date2);
		long ldate2 = date2.getTime() + cal2.get(Calendar.ZONE_OFFSET) + cal2.get(Calendar.DST_OFFSET);
       
		// Use integer calculation, truncate the decimals
		int hr1   = (int)(ldate1/3600000); //60*60*1000
		int hr2   = (int)(ldate2/3600000);

		int days1 = (int)hr1/24;
		int days2 = (int)hr2/24;

       
		int dayDiff  = days2 - days1;
		int weekOffset = (cal2.get(Calendar.DAY_OF_WEEK) - cal1.get(Calendar.DAY_OF_WEEK))<0 ? 1 : 0;
		int weekDiff  = dayDiff/7 + weekOffset; 
		int yearDiff  = cal2.get(Calendar.YEAR) - cal1.get(Calendar.YEAR); 
		int monthDiff = yearDiff * 12 + cal2.get(Calendar.MONTH) - cal1.get(Calendar.MONTH);

		if(compare.equals("w"))
			return weekDiff;
		if(compare.equals("m"))
			return monthDiff;
		if(compare.equals("y"))
			return yearDiff;
		
		return dayDiff;
	}
	/**
	* 一个日期加上一定天数后的日期
	* @param compare  w代表星期、m代表月、y代表年,不填代表天
	* @param sdate1  日期
	* @param addNumber  天数
	*/
	public static String dateAdd(String compare, String sdate,int addNumber)
	{
		Date date  = null;
		SimpleDateFormat df = null;
		
		if(sdate.indexOf("-")>0)
			df = new SimpleDateFormat("yyyy-MM-dd");
		else
			df = new SimpleDateFormat("yyyy年MM月dd日");			
       
		try{
			date = df.parse(sdate); 
		}catch(ParseException pe){
			pe.printStackTrace();
		}

		Calendar cal = null; 
       
		cal=Calendar.getInstance(); 
		cal.setTime(date);
		
		if(compare.equalsIgnoreCase("d"))         
			cal.add(Calendar.DATE,addNumber);
		if(compare.equalsIgnoreCase("m"))         
			cal.add(Calendar.MONTH,addNumber);
		if(compare.equalsIgnoreCase("y"))         
			cal.add(Calendar.YEAR,addNumber);
		
		return df.format(cal.getTime());
	}	
	/**
	* 某年某月某日是星期几
	* @param tmpDate  输入日期
	*/
	public static String weekDay(String tmpDate){
		
		SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
		Date date  = null;
		String days[] = {"","日","一","二","三","四","五","六"};
		try{
			date = df.parse(tmpDate); 
		}catch(ParseException pe){
			pe.printStackTrace();
		}
		Calendar cal = null; 
       
		cal=Calendar.getInstance(); 
		cal.setTime(date);
		return "星期" + days[cal.get(Calendar.DAY_OF_WEEK)];
	}
	/**
	   * 计算日期的函数 author: HST
	   * 参照日期指当按照年月进行日期的计算的时候,参考的日期,如下例,结果返回2002-03-31
	   * <p><b>Example: </b><p>
	   * <p>FDate tD=new FDate();<p>
	   * <p>Date baseDate =new Date();<p>
	   * <p>baseDate=tD.getDate("2000-02-29");<p>
	   * <p>Date comDate =new Date();<p>
	   * <p>comDate=tD.getDate("1999-12-31");<p>
	   * <p>int inteval=1;<p>
	   * <p>String tUnit="M";<p>
	   * <p>Date tDate =new Date();<p>
	   * <p>tDate=PubFun.calDate(baseDate,inteval,tUnit,comDate);<p>
	   * <p>System.out.println(tDate.toString());<p>
	   * @param baseDate 起始日期
	   * @param interval 时间间隔
	   * @param unit 时间间隔单位
	   * @param compareDate 参照日期
	   * @return Date类型变量
	   */
	  public static Date calDate(Date baseDate, int interval, String unit, Date compareDate)
	  {
		Date returnDate = null;

		GregorianCalendar mCalendar = new GregorianCalendar();
		mCalendar.setTime( baseDate );
		if (unit.equals("Y")) mCalendar.add(Calendar.YEAR, interval);
		if (unit.equals("M")) mCalendar.add(Calendar.MONTH, interval);
		if (unit.equals("D")) mCalendar.add(Calendar.DATE, interval);

		if (compareDate != null)
		{
		  GregorianCalendar cCalendar = new GregorianCalendar();
		  cCalendar.setTime( compareDate );

		  int mYears = mCalendar.get(Calendar.YEAR);
		  int mMonths = mCalendar.get(Calendar.MONTH);
		  int cMonths = cCalendar.get(Calendar.MONTH);
		  int cDays = cCalendar.get(Calendar.DATE);

		  if (unit.equals("Y"))
		  {
			cCalendar.set(mYears, cMonths, cDays);
			if (cCalendar.before( mCalendar ))
			{
			  mCalendar.set(mYears+1, cMonths, cDays);
			  returnDate = mCalendar.getTime();
			}
			else
			  returnDate = cCalendar.getTime();
		  }
		  if (unit.equals("M"))
		  {
			cCalendar.set(mYears, mMonths, cDays);
			if (cCalendar.before( mCalendar ))
			{
			  mCalendar.set(mYears, mMonths+1, cDays);
			  returnDate = mCalendar.getTime();
			}
			else
			  returnDate = cCalendar.getTime();
		  }
		  if (unit.equals("D"))
			returnDate = mCalendar.getTime();
		}
		else
		  returnDate = mCalendar.getTime();

		return returnDate;
	  }

	  /**
	   * 重载计算日期,参数见楼上,add by Minim
	   * @param baseDate
	   * @param interval
	   * @param unit
	   * @param compareDate
	   * @return
	   */
	  public static String calDate(String baseDate, int interval, String unit, String compareDate) {
		try {
		  FDate tFDate = new FDate();
		  Date bDate = tFDate.getDate(baseDate);
		  Date cDate = tFDate.getDate(compareDate);
		  return tFDate.getString(calDate(bDate, interval, unit, cDate));
		}
		catch (Exception ex) {
		  ex.printStackTrace();
		  return null;
		}
	  }
	  /**
	   * 根据输入数值返回子字符串
	   * @param str 输入字符串
	   * @param fontnum 输入数值
	   * @return 返回子字符串
	   */
	  public static  String getSubString(String str,int fontnum){
				String tmpStr=str;
				if (tmpStr.length()>=fontnum){
					tmpStr=tmpStr.substring(0,fontnum);
					tmpStr=tmpStr+"...";
				}
				return tmpStr;
			}
	
	/**
	 * 两个日期和时间相减,求得秒数
	 * @param fTime
	 * @param tTime
	 * @return
	 */
	
			
	public static int timeDiff(String fTime,String tTime){
		int n = 0;
		fTime = formatDate(fTime);
		tTime = formatDate(tTime);
		String d1 = fTime.trim().substring(0,11);
		String d2 = tTime.trim().substring(0,11);
		fTime = fTime.trim().substring(11);
		tTime = tTime.trim().substring(11);
		int dDiff = Data.dateDiff("",d1,d2);
		int n1 = returnSec(fTime);
		int n2 = returnSec(tTime);
		n = n2 - n1;
		n = n + dDiff*24*3600;
		return n ;
	}

	/**
	 * 将double型的科学记数法转化成为sql server的money型
	 * @param num
	 * @return
	 */
	
	public static String converTechToMoney(double num){
		String value = "";
		java.text.DecimalFormat df=new java.text.DecimalFormat("##0.00##");
		value = df.format(num);
		return value; 
	}
	
	/**
	 * 将double型的科学记数法转化成为标准记数法
	 * @param num
	 * @return
	 */
	
	public static String converTechToNum(double num){
		String value = "";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -