datetimetool.java

来自「基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰」· Java 代码 · 共 724 行 · 第 1/2 页

JAVA
724
字号
	 * @return
	 */
	public static int getWeekOfYear(int year,int dayOfYear) {
		int weekOfYear;
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.YEAR, year);
		cal.set(Calendar.DAY_OF_YEAR, dayOfYear);
		weekOfYear = cal.get(Calendar.WEEK_OF_YEAR);
		return weekOfYear;
	}
	/**
	 * ��ȡ���������
	 * 
	 * @param format
	 * @return
	 */
	public static String getGivenDayAfter(int afterDays, String format) {
		Calendar c = Calendar.getInstance(); // ��ʱ�����ں�ʱ��
		int d = c.get(Calendar.DAY_OF_MONTH); // ȡ���ա���
		int d2 = d + afterDays;
		c.set(Calendar.DAY_OF_MONTH, d2); // �����ա������û�ȥ
		//
		// long current = new java.util.Date().getTime();
		// long beforetimes = beforeDays * 24 * 60 * 60 * 1000;
		// long times = current - beforetimes;
		return new SimpleDateFormat(format).format(c.getTime());
	}

	/**
	 * ȡ��ǰ����
	 * 
	 * @param format
	 * @return
	 */
	public static String getCurrentDate(String format, Locale l) {
		return new SimpleDateFormat(format, l).format(new java.util.Date());
	}

	public static String format(java.util.Date date, String format) {
		return new SimpleDateFormat(format).format(date);
	}

	public static String format(java.util.Date date, String format, Locale l) {
		return new SimpleDateFormat(format, l).format(date);
	}

	/**
	 * 
	 * @param dateStr
	 *            "yyyy-MM-dd"
	 * @return
	 */
	public static java.util.Date buildDate(String dateStr)
			throws DateFormatException {
		
		try {
			
			int year = Integer.parseInt(dateStr.substring(0, 4));
			String tempM = dateStr.substring(5, 6);//月的第一位;
			int month = 0;
			if(tempM.equals("0")) {
				month = Integer.parseInt(dateStr.substring(6, 7)) - 1;//只取个位数;
			} else if(tempM.equals("1")) {
				month = Integer.parseInt(dateStr.substring(5, 7))-1;//只取双位数;
			}
			String tempD = dateStr.substring(8, 9);//日的第一位;
			int day = 0;
			if(tempD.equals("0")) {
				day = Integer.parseInt(dateStr.substring(9, 10));
			} else {
				day = Integer.parseInt(dateStr.substring(8, 10));
			}
			
			Calendar calendar = Calendar.getInstance();
			calendar.set(year, month, day);
			return calendar.getTime();
			
		} catch (Exception e) {
			throw new DateFormatException("日期转化异常");
		}
	}

	/**
	 * 
	 * @param timeStr
	 *            "mm:ss"
	 * @return
	 */
	public static java.util.Date buildTime(String timeStr) {
		int hour = intValue(timeStr.substring(0, 2));
		int minute = intValue(timeStr.substring(3, 5));
		Calendar calendar = Calendar.getInstance();
		calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
				calendar.get(Calendar.DATE), hour, minute, 0);
		return calendar.getTime();
	}

	
	/**
	 * 把字符串参数转化为日期;
	 * @param date
	 * @return
	 */
	public static Date getDateByStr(String date) {
		Date d = null;
		SimpleDateFormat dsf = new SimpleDateFormat("yyyy-MM-dd");
		try {
			d = dsf.parse(date);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return d;
	}
	
	/**
	 * 把字符串参数转化为日期;
	 * @param date
	 * @return
	 */
	public static Date getDateByStr2(String date) {
		Date d = null;
		SimpleDateFormat dsf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			d = dsf.parse(date);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return d;
	}
	static int intValue(String str) {
		return new Integer(str).intValue();
	}

	/**
	 * �Ƚ�ʱ�䣬��ȷ��Сʱ
	 * 
	 * @param dateStr1
	 * @param dateStr2
	 * @return
	 */
	public static int compare(String dateStr1, String dateStr2) {
		int result = -1;
		System.out.println("a: " + dateStr1);
		String a = dateStr1.substring(0, 4) + dateStr1.substring(5, 7)
				+ dateStr1.substring(8, 10) + dateStr1.substring(11, 13);
		System.out.println("a: " + a);
		String b = dateStr2.substring(0, 4) + dateStr2.substring(5, 7)
				+ dateStr2.substring(8, 10) + dateStr2.substring(11, 13);
		System.out.println("b: " + dateStr2);
		System.out.println("b: " + b);
		if (intValue(a) < intValue(b)) {
			result = 1;
		}
		if (intValue(a) == intValue(b)) {
			result = 0;
		}
		
		System.out.println("result: " + result);
		return result;
	}
	
	/**
	 * �Ƚ�ʱ��
	 * 
	 * date dateStr
	 * -1:date����date2 dateС
	 * 0:date����date2  ���
	 * 1:date����date2 date��
	 * @param date
	 * @param dateStr
	 * @return
	 * @throws ParseException
	 */
	public static int compare(Date date, Date date2) {
		
		int result = -1;
		
		if (date.before(date2)) {
			result = 1;
		} else if (date.equals(date2)) {
			result = 0;
		} else if (date.after(date2)) {
			result = -1;
		}
		
		return result;
	}
	
	/**
	 * ȡ��}��ʱ������ֵ(�Ƚ����ʱ��)
	 * 
	 * @param date
	 * @param dateStr
	 * @return
	 * @throws ParseException
	 */
	public static Date getMaxDate(Date date, Date date2){
		
		Date maxDate = date2;
		
		if (date != null) {
			int result = compare(date, date2);
			
			if (result == 1) {
				maxDate = date;
			} else if (result == -1) {
				maxDate = date2;
			}
		}
		
		return maxDate;
	}
	
	/**
	 * ȡ��}��ʱ�����Сֵ(�Ƚ����ʱ��)
	 * 
	 * @param date
	 * @param dateStr
	 * @return
	 * @throws ParseException
	 */
	public static Date getMinDate(Date date, Date date2){
		
		Date minDate = date2;
		
		if (date != null) {
			int result = compare(date, date2);
			
			if (result == 1) {
				minDate = date2;
			} else if (result == -1) {
				minDate = date;
			}
		}
		
		return minDate;
	}

	public static String getUsedTime(long millis) {
		int hour = (int) millis / (1000 * 60 * 60);
		int minute = (int) (millis - (hour * 1000 * 60 * 60)) / (1000 * 60);
		int second = (int) ((millis - (hour * 1000 * 60 * 60) - (minute * 1000 * 60)) / 1000);
		return hour + "Сʱ" + minute + "��" + second + "��";
	}

	/**
	 * 
	 * @param timeStr
	 * @return
	 */
	public static Calendar getCalendar(String timeStr) {
		// �ж�ʱ���ʽ�Ƿ�Ϸ���ȡСʱ�ͷ���
		if (timeStr == null || timeStr.length() != 5) {
			throw new IllegalArgumentException("ʱ���ʽ����!");
		}
		String hourStr = timeStr.substring(0, 2);
		String minuteStr = timeStr.substring(3, 5);
		if (hourStr.substring(0, 1).equals("0")) {
			hourStr = hourStr.substring(1, 2);
			System.out.println("hourstr is:" + hourStr);
		}
		if (minuteStr.substring(0, 1).equals("0")) {
			minuteStr = minuteStr.substring(1, 2);
			System.out.println("timeStr is:" + minuteStr);
		}
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.HOUR_OF_DAY, intValue(hourStr));
		cal.set(Calendar.MINUTE, intValue(minuteStr));
		return cal;
	}
	
	/**
	 * ��ݸ��ʽ,��ʽ������
	 * @param pattern
	 * @param date
	 * @return
	 */
	public static String dateToStrFormat(String pattern, Date date) {
		String str = "";
		if (date != null) {
			if (pattern == null || pattern.equals("")) {
				return new SimpleDateFormat("yyyy-MM-dd hh-mm-ss").format(date);
			} else {
				return new SimpleDateFormat(pattern).format(date);
			}
		}
		return str;
	} 
	/**
	 * ��ݸ��ַ����ʽ,ת��������
	 * @param pattern
	 * @param date
	 * @return
	 * @throws ParseException
	 */
	public static Date strToDateFormat(String pattern, String date) throws ParseException {
		if (pattern == null || pattern.equals("")) {
			return new SimpleDateFormat("yyyy-MM-dd hh-mm-ss").parse(date);
		} else {
			return new SimpleDateFormat(pattern).parse(date);
		}
	}
	/**
	 * ��ȡ����ǰ�·ݵĵ�һ���·�
	 * @return
	 */
	public static String getAnearFirstYearMonth() {
		String yearMonth = "";
		String currentDate = dateToStrFormat("yyyy-MM-dd",new Date());
		String[] dates = currentDate.split("-");
		int currentYear = Integer.parseInt(dates[0]);
		int currentMonth = Integer.parseInt(dates[1]);
		int anearFirstMonth = currentMonth;
		if(currentMonth==1){//���ǰ�·ݵ���һ,��ݼ�һ,�·ݼ�ʮ��
			currentYear--;
			anearFirstMonth+=12;
		}
		anearFirstMonth--;
		yearMonth+= currentYear+"��"+anearFirstMonth+"�·�";
		return yearMonth;
	}
	
	/**
	 * ��ȡ����ǰ�·ݵĵڶ����·�
	 * @return
	 */
	public static String getAnearSecondYearMonth() {
		String yearMonth = "";
		String currentDate = dateToStrFormat("yyyy-MM-dd",new Date());
		String[] dates = currentDate.split("-");
		int currentYear = Integer.parseInt(dates[0]);
		int currentMonth = Integer.parseInt(dates[1]);
		int anearSecondMonth = currentMonth;
		if(currentMonth==1 || currentMonth==2){
			currentYear--;
			anearSecondMonth+=12;
		}
		anearSecondMonth-=2;
		yearMonth+= currentYear+"��"+anearSecondMonth+"�·�";
		return yearMonth;
	}
	/**
	 * ��ȡ����ǰ�·ݵĵ�����·�
	 * @return
	 */
	public static String getAnearThirdYearMonth() {
		String yearMonth = "";
		String currentDate = dateToStrFormat("yyyy-MM-dd",new Date());
		String[] dates = currentDate.split("-");
		int currentYear = Integer.parseInt(dates[0]);
		int currentMonth = Integer.parseInt(dates[1]);
		int anearThirdMonth = currentMonth;
		if(currentMonth==1 || currentMonth==2 || currentMonth==3){
			currentYear--;
			anearThirdMonth+=12;
		}
		anearThirdMonth-=3;
		yearMonth+= currentYear+"��"+anearThirdMonth+"�·�";
		return yearMonth;
	}
	
}

⌨️ 快捷键说明

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