📄 dateutils.java
字号:
package huc.blog.util;
import java.util.Calendar;
import java.util.Date;
public class DateUtils {
public static Date getFirstTime(){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.DATE, cal.getActualMinimum(cal.DATE));
return cal.getTime();
}
public static Date getLastTime(){
Calendar cal = Calendar.getInstance();
cal.roll(Calendar.MONTH, true);
cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.DATE, cal.getActualMinimum(cal.DATE));
return cal.getTime();
}
//dateString格式yyyyMM
public static Date getFirstTime(String dateString){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(dateString.substring(0,4)));
cal.set(Calendar.MONTH, Integer.parseInt(dateString.substring(4)) - 1);
cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.DATE, cal.getActualMinimum(cal.DATE));
return cal.getTime();
}
//dateString格式yyyyMM
public static Date getLastTime(String dateString){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(dateString.substring(0,4)));
cal.set(Calendar.MONTH, Integer.parseInt(dateString.substring(4)));
cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.DATE, cal.getActualMinimum(cal.DATE));
return cal.getTime();
}
/**
* 获得月份加1的时间。
* 例如,dateString="200503",返回值为"200504";dateString="200511",返回值为"200512"
* @param dateString格式yyyyMM
* @param flag true:up;false:down
* 返回格式yyyyMM
*/
public static String roleTime(String dateString, boolean flag){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(dateString.substring(0,4)));
if(flag)
cal.set(Calendar.MONTH, Integer.parseInt(dateString.substring(4)));
else
cal.set(Calendar.MONTH, Integer.parseInt(dateString.substring(4)) - 2);
cal.set(Calendar.DATE, cal.getActualMinimum(cal.DATE));
cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
String time = cal.getTime().toLocaleString();
StringBuffer temp = new StringBuffer();
temp.append(time.substring(0,4));
temp.append(time.substring(5,time.indexOf("-",5)));
if(temp.length() < 6){
temp.insert(4, "0");
}
return temp.toString();
}
/**
* 比较string时间是否在当前时间之前
* @param dateString 格式yyyyMM
* @param flag true:before;false:after
* @return true - dateString在当前月份的最后一天的时间前或后
* false - dateString在当前月份的最后一天或在当前月份的最后一天的时间之后或前
*/
public static boolean compareTime(String dateString, boolean flag){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(dateString.substring(0,4)));
cal.set(Calendar.MONTH, Integer.parseInt(dateString.substring(4)) - 1);
cal.set(Calendar.DATE, cal.getActualMinimum(cal.DATE));
cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
//当前月份的最后一天的时间
Calendar currentCal = Calendar.getInstance();
currentCal.roll(Calendar.MONTH, true);
currentCal.set(Calendar.DATE, currentCal.getActualMinimum(currentCal.DATE));
currentCal.set(Calendar.HOUR_OF_DAY,0);
currentCal.set(Calendar.MINUTE,0);
currentCal.set(Calendar.SECOND,0);
if(flag)
return cal.before(currentCal);
else
return cal.after(currentCal);
}
/**
* 比较两个时间字符串的前后
* @param dateString1 格式yyyyMM
* @param dateString2 格式yyyyMM
* @return true - dateString1在dateString2前或dateString1=dateString2
* false - 在dateString2之后
*/
public static boolean compareTime(String dateString1, String dateString2){
Calendar cal1 = Calendar.getInstance();
cal1.set(Calendar.YEAR, Integer.parseInt(dateString1.substring(0,4)));
cal1.set(Calendar.MONTH, Integer.parseInt(dateString1.substring(4)) - 1);
cal1.set(Calendar.DATE, cal1.getActualMinimum(cal1.DATE));
cal1.set(Calendar.HOUR_OF_DAY,0);
cal1.set(Calendar.MINUTE,0);
cal1.set(Calendar.SECOND,0);
Calendar cal2 = Calendar.getInstance();
cal2.set(Calendar.YEAR, Integer.parseInt(dateString2.substring(0,4)));
cal2.set(Calendar.MONTH, Integer.parseInt(dateString2.substring(4)) - 1);
cal2.set(Calendar.DATE, cal2.getActualMinimum(cal2.DATE));
cal2.set(Calendar.HOUR_OF_DAY,0);
cal2.set(Calendar.MINUTE,0);
cal2.set(Calendar.SECOND,0);
return cal1.before(cal2) || cal1.equals(cal2);
}
/**
* 将java.util.Date转化为yyyyMM
* @param dateString
* @return
*/
public static String format(Date date){
String dateString = date.toLocaleString();
StringBuffer temp = new StringBuffer();
temp.append(dateString.substring(0,4));
temp.append(dateString.substring(5,dateString.indexOf("-", 5)));
if(temp.length() < 6){
temp.insert(4, "0");
}
return temp.toString();
}
/**
* 将yyyy-MM-dd hh:mm:ss转化为yyyyMM
* @param dateString
* @return
*/
public static String formatTo(String dateString){
StringBuffer temp = new StringBuffer();
temp.append(dateString.substring(0,4));
temp.append(dateString.substring(5,7));
return temp.toString();
}
/**
* 将yyyyMM转化为java.util.Date
* @param dateString
* @return
*/
public static Date formatToDate(String dateString){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(dateString.substring(0,4)));
cal.set(Calendar.MONTH, Integer.parseInt(dateString.substring(4)) - 1);
cal.set(Calendar.DATE, cal.getActualMinimum(cal.DATE));
cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
return cal.getTime();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -