📄 dateutils.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 + -