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

📄 dateutils.java

📁 oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码oa源码
💻 JAVA
字号:
package com.statistical.tools;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class DateUtils {
	public static long twoDateIntervalDays(String startDateStr,String endDateStr){
		Date startDate =DateUtils.parseStringToDate(startDateStr);
		Date endDate = DateUtils.parseStringToDate(endDateStr);
        long lg=endDate.getTime()-startDate.getTime();
        return Math.round(lg/(24*60*60*1000));
    }
	public static Date parseStringToDate(String dateStr){
		String[] strs = dateStr.split("-");
		Date now = new Date();
		
		if(dateStr==""){
			return new Date();
		}
		Integer year = Integer.valueOf(strs[0]);
		Integer month = Integer.valueOf(strs.length<2?"01":strs[1]);
		Integer day = Integer.valueOf(strs.length<3?"01":strs[2]);
		
		Calendar calendar = Calendar.getInstance();
		calendar.set(year, month-1,day);
		return calendar.getTime();
	}
	public static String parseDateToString(Date date){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");	
		return sdf.format(date);
	}
	public static String dateAdd(String dateStr,Integer datePart,Integer nums){
		Date date = DateUtils.parseStringToDate(dateStr);
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.add(datePart, nums);
		date.setTime(calendar.getTime().getTime());

		return DateUtils.parseDateToString(date);
	}
	
	public static String getMonthEnd(String dateStr){
		String[] strs = dateStr.split("-");
		Calendar calendar = Calendar.getInstance();
		calendar.set(Integer.valueOf(strs[0]), Integer.valueOf(strs[1]),1);
		calendar.add(calendar.DATE, -1);
		Date endDate = calendar.getTime();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");		
		return sdf.format(endDate);
	}
	public static List<String> getYears(String startLimit,String endLimit){
		String[] startLimitStrs = startLimit.split("-");
		String[] endLimitStrs = endLimit.split("-");
		Integer startYear = Integer.valueOf(startLimitStrs[0]);
		Integer endYear = Integer.valueOf(endLimitStrs[0]);
		List<String> lt = new ArrayList<String>();
		for(Integer i=startYear;i<=endYear;i++){
			lt.add(i.toString());			
		}
		return lt;
	}
	
	public static String getYearsString(String startLimit,String endLimit){
		StringBuffer resultStr = new StringBuffer();
		String[] startLimitStrs = startLimit.split("-");
		String[] endLimitStrs = endLimit.split("-");
		Integer startYear = Integer.valueOf(startLimitStrs[0]);
		Integer endYear = Integer.valueOf(endLimitStrs[0]);
		resultStr.append("(");
		for(Integer i=startYear;i<=endYear;i++){
			resultStr.append("'"+i.toString()+"'");
			resultStr.append(",");
		}
		resultStr.deleteCharAt(resultStr.lastIndexOf(","));
		resultStr.append(")");
		return resultStr.toString();
	}
	
	public static String getMonthsString(String startLimit,String endLimit){
		if(startLimit.equals(endLimit)) return "('"+startLimit.substring(0,7)+"')";
		StringBuffer resultStr = new StringBuffer();
		String[] startLimitStrs = startLimit.split("-");
		String[] endLimitStrs = endLimit.split("-");
		Integer startYear = Integer.valueOf(startLimitStrs[0]);
		Integer endYear = Integer.valueOf(endLimitStrs[0]);
		Integer startMonth = Integer.valueOf(startLimitStrs[1]);
		Integer endMonth = Integer.valueOf(endLimitStrs[1]);
		Integer monthCount = Math.abs(startYear-endYear)*12-(startMonth-endMonth);
		resultStr.append("(");
		String month = startLimitStrs[0]+"-"+startLimitStrs[1];
		for(Integer i=0;i<=monthCount;i++){			
			resultStr.append("'"+month+"'");
			resultStr.append(",");
			month = DateUtils.dateAdd(month+"-01", Calendar.MONTH, 1);
			month = month.substring(0,7);
		}
		resultStr.deleteCharAt(resultStr.lastIndexOf(","));
		resultStr.append(")");
		return resultStr.toString();
	}
	
	public static String getDaysString(String startLimit,String endLimit){
		StringBuffer resultStr = new StringBuffer();
		Long daysCount = DateUtils.twoDateIntervalDays(startLimit, endLimit);
		resultStr.append("(");
		String dateStr = startLimit;
		for(Long i =0L;i<=daysCount;i++){
			resultStr.append("'"+dateStr+"'");
			resultStr.append(",");
			dateStr = DateUtils.dateAdd(dateStr, Calendar.DATE, 1);
		}
		resultStr.deleteCharAt(resultStr.lastIndexOf(","));
		resultStr.append(")");
		return resultStr.toString();
	}
}

⌨️ 快捷键说明

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