- 获取 当前年、半年、季度、月、日、小时 开始结束时间
- 时间处理工具类
1、DateUtil.java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class DateUtil {
private static final String DATE_PATTERN_1 = "yyyy-MM-dd HH:mm:ss";
private static final String DATE_PATTERN_2 = "yyyy-MM-dd";
private static final String DATE_PATTERN_3 = "yyyyMMddHHmmss";
private static final String DATE_PATTERN_4 = "yyyyMMddHHmmssSSS";
private static final String DATE_PATTERN_5 = "HH:mm:ss";
private static final String DATE_PATTERN_6 = "yyyy/MM/dd";
public static Date getSeasonEndDate (Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int month = calendar.get(Calendar.MONTH);
calendar.set(Calendar.MONTH, (month + 3) / 3 * 3);
calendar.set(Calendar.DATE, 1);
return new Date(calendar.getTime().getTime() - 24 * 60 * 60 *1000);
}
public static Date getSeasonStartDate (Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int month = calendar.get(Calendar.MONTH);
calendar.set(Calendar.MONTH, month / 3 * 3);
calendar.set(Calendar.DATE, 1);
return calendar.getTime();
}
public static long getThisMonthFirstDay() {
Calendar cale = Calendar.getInstance();
cale = Calendar.getInstance();
cale.add(Calendar.MONTH, 0);
cale.set(Calendar.DAY_OF_MONTH, 1);
return cale.getTimeInMillis();
}
public static long getThisMonthLastDay() {
Calendar cale = Calendar.getInstance();
cale.add(Calendar.MONTH, 1);
cale.set(Calendar.DAY_OF_MONTH, 0);
return cale.getTimeInMillis();
}
public static long getTisWeekFirstDay() {
Calendar cal = Calendar.getInstance();
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
cal.setFirstDayOfWeek(Calendar.MONDAY);
int day = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
return cal.getTimeInMillis();
}
public static long getTisWeekLastDay() {
Calendar cal = Calendar.getInstance();
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
cal.setFirstDayOfWeek(Calendar.MONDAY);
int day = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
cal.add(Calendar.DATE, 6);
return cal.getTimeInMillis();
}
public static long getPastDate(int past) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
return calendar.getTimeInMillis();
}
public static long getCurrentDay() {
Calendar calendar = Calendar.getInstance();
return calendar.getTimeInMillis();
}
public static String getCurrentDayStr() {
return getFormatDateTime(getCurrentDay(), DATE_PATTERN_3);
}
public static String formatDateString(String strTime) {
SimpleDateFormat oldFormat;
if (strTime != null && strTime.length() == 17) {
oldFormat = new SimpleDateFormat(DATE_PATTERN_4, Locale.CHINA);
} else {
oldFormat = new SimpleDateFormat(DATE_PATTERN_3, Locale.CHINA);
}
SimpleDateFormat newFormat = new SimpleDateFormat(DATE_PATTERN_1, Locale.CHINA);
try {
Date date = oldFormat.parse(strTime);
return newFormat.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
public static String getFormatDate(String strTime) {
SimpleDateFormat oldFormat;
if (strTime != null && strTime.length() == 17) {
oldFormat = new SimpleDateFormat(DATE_PATTERN_4, Locale.CHINA);
} else {
oldFormat = new SimpleDateFormat(DATE_PATTERN_3, Locale.CHINA);
}
SimpleDateFormat newFormat = new SimpleDateFormat(DATE_PATTERN_2, Locale.CHINA);
try {
Date date = oldFormat.parse(strTime);
return newFormat.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
public static String getFormatDateTime(long dateTime, String format) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
Date date = new Date(dateTime);
return simpleDateFormat.format(date);
}
public static String getFormatDate(Date date) {
if (date == null) {
return "";
}
SimpleDateFormat format = new SimpleDateFormat(DATE_PATTERN_2);
return format.format(date);
}
public static String getFormatTime(String strTime) {
SimpleDateFormat oldFormat;
if (strTime != null && strTime.length() == 17) {
oldFormat = new SimpleDateFormat(DATE_PATTERN_4, Locale.CHINA);
} else {
oldFormat = new SimpleDateFormat(DATE_PATTERN_3, Locale.CHINA);
}
SimpleDateFormat newFormat = new SimpleDateFormat(DATE_PATTERN_5, Locale.CHINA);
try {
Date date = oldFormat.parse(strTime);
return newFormat.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
public static long String2Long(String dateStr) {
return String2Long(dateStr, DATE_PATTERN_3);
}
public static long String2Long(String dateStr, String dateFormat) {
SimpleDateFormat format = new SimpleDateFormat(dateFormat, Locale.CHINA);
Date date = null;
try {
date = format.parse(dateStr);
} catch (ParseException e) {
e