public class DateUtil {
public DateUtil() {
}
/***
* 这里进行对自己进行正则表达
* @param oriStr
* @return
*/
public static String filterDistrictName(String oriStr) {
if (!oriStr.endsWith("自治县") && oriStr.length() > 2) {
String result = oriStr.replaceAll("(市|地区|县|市市辖区)$", "");
return result;
} else {
return oriStr;
}
}
/**
* 测试用
* @param args
* @throws ParseException
*/
// public static void main(String[] args) throws ParseException {
//
// //System.out.println(fomatDate("2013-07-08 12:22:23"));
// //System.out.println(dateDiff("2013-06-08 12:25:23","2013-07-08 12:25:23"));
// // System.out.println(currentTimeDiff2("2013-12-08"));
System.out.println(compare_date("2013-07-08 12:25:23", "2013-07-08 12:23:23"));
// //System.out.println(fomatDate("2013-10-16 9:27:34"));
// //System.out.println(System.currentTimeMillis());
// //System.out.println(getTenTimestamp());
// //System.out.println(getSixRandom());
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// //获取当前时间
// Date time = Calendar.getInstance().getTime();
//
// // System.out.println(simpleDateFormat.format(datePlusOrMinus("2013-10-16 9:27:34",2)));
//
// System.out.println(getNowYear());
//
//
// }
/**
* 把日期格式转换为字符串格式
* @param date
* @return
*/
public static String dateToString (Date date){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.format(date);
}
/**
* 把原始字符串扩展成自定的长度
* @param oriStr 原始字符串
* @param fillChar 要填充的字符
* @param setLength 要扩展成的长度
* @param preFill 前扩充还是后扩充 true-在前面填充,false-后面填充
* @return
*/
public static String fixStringToSetLength(String oriStr, String fillChar, int setLength, boolean preFill) {
if(oriStr == null || fillChar.equals("")) {
return oriStr;
}
int oriLength = oriStr.length();
StringBuilder sb = null;
if(preFill == true) {
sb = new StringBuilder();
for(int i = oriLength; i < setLength; i++) {
sb.append(fillChar);
}
sb.append(oriStr);
} else {
sb = new StringBuilder(oriStr);
for(int i = oriLength; i < setLength; i++) {
sb.append(fillChar);
}
}
return sb.toString();
}
//日期往后加多少个月,多少天,多少年
@SuppressWarnings("static-access")
public static String addMonth(String format,String StrDate,int year,int month,int day){
Calendar cal = Calendar.getInstance();
SimpleDateFormat sFmt = new SimpleDateFormat(format);
cal.setTime(sFmt.parse( (StrDate), new ParsePosition(0)));
if (day != 0) {
cal.add(cal.DATE,day);
}
if (month != 0) {
cal.add(cal.MONTH, month);
}
if (year != 0) {
cal.add(cal.YEAR, year);
}
return sFmt.format(cal.getTime());
}
public static void main(String[] args) {
// String StrDate = "2022-10-11";
// StrDate = addMonth("yyyy-MM-dd", StrDate, 1, 1, 1);
// System.out.println(StrDate);
System.out.println(getNowYear());
}
/**
* 判断两个时间字符串之差
* @param date1
* @param date2
* @return 毫秒数
*/
public static Long dateDiff(String date1,String date2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return df.parse(date1).getTime() - df.parse(date2).getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 和当前时间差
* @param date
* @return 当前时间 - date 毫秒数
*/
public static Long currentTimeDiff(String date) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return System.currentTimeMillis() - df.parse(date).getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/**
* 和当前时间差(不需要时分秒)
* @param date
* @return 当前时间 - date
*
* */
public static Long currentTimeDiff2(String date) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
return System.currentTimeMillis() - df.parse(date).getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/**
* 日期比较
* @param DATE1
* @param DATE2
* @return DATE1 > DATE2 返回1
*/
public static int compare_date(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
/**
* 将日期yyyy-MM-dd HH:mm:ss 格式化为 yyyyMMddHHmmss
* @param date
* @return
*/
public static String fomatDate(String date){
String dateStr = null;
if(date == null || "".equals(date)){
dateStr = "";
}else{
try {
dateStr = date.replaceAll(":", "").replaceAll("-", "").replaceAll(" ", "");
} catch (Exception e) {
e.printStackTrace();
}
}
return dateStr;
}
/**
* 获取插入数据库格式的时间
* @return
*/
public static String getSQLDate() {
String systemdate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(Calendar.getInstance().getTime()); // 获取系统当前时间
return systemdate;
}
/**
* 获取年月日格式的时间
* @return
*/
public static String getdayDate() {
String systemdate = new SimpleDateFormat("yyyy-MM-dd")
.format(Calendar.getInstance().getTime()); // 获取系统当前时间
return systemdate;
}
/**
* 获取年月格式的时间
* @return
*/
public static String getmonthDate() {
String systemdate = new SimpleDateFormat("yyyy-MM")
.format(Calendar.getInstance().getTime()); // 获取系统当前时间
return systemdate;
}
/**
* 获取当月天数
* @return
*/
public static int getmonthdays() {
Calendar a = Calendar.getInstance();
a.set(Calendar.DATE, 1);//把日期设置为当月第一天
a.roll(Calendar.DATE, -1);//日期回滚一天,也就是最后一天
int maxDate = a.get(Calendar.DATE);
return maxDate;
}
/**
* 设置时间为本周星期一和星期日的日期
* @return
*/
public static Map getweekday(Map<String, String> paramsMap) {
Calendar a = Calendar.getInstance();
//当天是星期几1--7
int dayofweek = a.get(Calendar.DAY_OF_WEEK)-1;
if(dayofweek == 0){
dayofweek = 7;
}
a.add(Calendar.DATE, -(dayofweek-1));//减去dayofweek-1天,也就是星期一
String t1 = new SimpleDateFormat("yyyy-MM-dd").format(a.getTime());
paramsMap.put("queryTime1", t1+" 00:00:00");
System.out.println(t1);
Calendar b = Calendar.getInstance();
b.add(Calendar.DATE, 7-dayofweek);//加上7-dayofweek天,也就是星期日
String t2 = new SimpleDateFormat("yyyy-MM-dd").format(b.getTime());
paramsMap.put("queryTime2", t2+" 23:59:59");
System.out.println(t2);
return paramsMap;
}
/**
* 对月份进行加减
* @param i
* @return
* @throws ParseException
*/
public static Date datePlusOrMinus(String systime ,Integer i) throws ParseException{
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date systDate =df.parse(systime);
GregorianCalendar gc =new GregorianCalendar();
gc.setTime(systDate);
gc.add(2,i);
return gc.getTime();
}
/**
* 得到月日时分秒10位时间戳字符串
*/
public static String getTenTimestamp() {
String systemdate = new SimpleDateFormat("MMddHHmmss").format(Calendar.getInstance().getTime());
return systemdate;
}
/**
* 得到当年
*/
public static Integer getNowYear() {
String nowyear = new SimpleDateFormat("yyyy").format(Calendar.getInstance().getTime());
return Integer.parseInt(nowyear);
}
/**
* 产生6位随机数
*/
public static String getSixRandom(){
int random1 = (int) (Math.random() * 900000 + 100000);
String random = String.valueOf(random1);
return random;
}
/**
* 产生2位随机数
*/
public static String getTwoRandom(){
int random1 = (int) (Math.random() * 90 + 10);
String random = String.valueOf(random1);
return random;
public DateUtil() {
}
/***
* 这里进行对自己进行正则表达
* @param oriStr
* @return
*/
public static String filterDistrictName(String oriStr) {
if (!oriStr.endsWith("自治县") && oriStr.length() > 2) {
String result = oriStr.replaceAll("(市|地区|县|市市辖区)$", "");
return result;
} else {
return oriStr;
}
}
/**
* 测试用
* @param args
* @throws ParseException
*/
// public static void main(String[] args) throws ParseException {
//
// //System.out.println(fomatDate("2013-07-08 12:22:23"));
// //System.out.println(dateDiff("2013-06-08 12:25:23","2013-07-08 12:25:23"));
// // System.out.println(currentTimeDiff2("2013-12-08"));
System.out.println(compare_date("2013-07-08 12:25:23", "2013-07-08 12:23:23"));
// //System.out.println(fomatDate("2013-10-16 9:27:34"));
// //System.out.println(System.currentTimeMillis());
// //System.out.println(getTenTimestamp());
// //System.out.println(getSixRandom());
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// //获取当前时间
// Date time = Calendar.getInstance().getTime();
//
// // System.out.println(simpleDateFormat.format(datePlusOrMinus("2013-10-16 9:27:34",2)));
//
// System.out.println(getNowYear());
//
//
// }
/**
* 把日期格式转换为字符串格式
* @param date
* @return
*/
public static String dateToString (Date date){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.format(date);
}
/**
* 把原始字符串扩展成自定的长度
* @param oriStr 原始字符串
* @param fillChar 要填充的字符
* @param setLength 要扩展成的长度
* @param preFill 前扩充还是后扩充 true-在前面填充,false-后面填充
* @return
*/
public static String fixStringToSetLength(String oriStr, String fillChar, int setLength, boolean preFill) {
if(oriStr == null || fillChar.equals("")) {
return oriStr;
}
int oriLength = oriStr.length();
StringBuilder sb = null;
if(preFill == true) {
sb = new StringBuilder();
for(int i = oriLength; i < setLength; i++) {
sb.append(fillChar);
}
sb.append(oriStr);
} else {
sb = new StringBuilder(oriStr);
for(int i = oriLength; i < setLength; i++) {
sb.append(fillChar);
}
}
return sb.toString();
}
//日期往后加多少个月,多少天,多少年
@SuppressWarnings("static-access")
public static String addMonth(String format,String StrDate,int year,int month,int day){
Calendar cal = Calendar.getInstance();
SimpleDateFormat sFmt = new SimpleDateFormat(format);
cal.setTime(sFmt.parse( (StrDate), new ParsePosition(0)));
if (day != 0) {
cal.add(cal.DATE,day);
}
if (month != 0) {
cal.add(cal.MONTH, month);
}
if (year != 0) {
cal.add(cal.YEAR, year);
}
return sFmt.format(cal.getTime());
}
public static void main(String[] args) {
// String StrDate = "2022-10-11";
// StrDate = addMonth("yyyy-MM-dd", StrDate, 1, 1, 1);
// System.out.println(StrDate);
System.out.println(getNowYear());
}
/**
* 判断两个时间字符串之差
* @param date1
* @param date2
* @return 毫秒数
*/
public static Long dateDiff(String date1,String date2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return df.parse(date1).getTime() - df.parse(date2).getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 和当前时间差
* @param date
* @return 当前时间 - date 毫秒数
*/
public static Long currentTimeDiff(String date) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return System.currentTimeMillis() - df.parse(date).getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/**
* 和当前时间差(不需要时分秒)
* @param date
* @return 当前时间 - date
*
* */
public static Long currentTimeDiff2(String date) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
return System.currentTimeMillis() - df.parse(date).getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/**
* 日期比较
* @param DATE1
* @param DATE2
* @return DATE1 > DATE2 返回1
*/
public static int compare_date(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
/**
* 将日期yyyy-MM-dd HH:mm:ss 格式化为 yyyyMMddHHmmss
* @param date
* @return
*/
public static String fomatDate(String date){
String dateStr = null;
if(date == null || "".equals(date)){
dateStr = "";
}else{
try {
dateStr = date.replaceAll(":", "").replaceAll("-", "").replaceAll(" ", "");
} catch (Exception e) {
e.printStackTrace();
}
}
return dateStr;
}
/**
* 获取插入数据库格式的时间
* @return
*/
public static String getSQLDate() {
String systemdate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(Calendar.getInstance().getTime()); // 获取系统当前时间
return systemdate;
}
/**
* 获取年月日格式的时间
* @return
*/
public static String getdayDate() {
String systemdate = new SimpleDateFormat("yyyy-MM-dd")
.format(Calendar.getInstance().getTime()); // 获取系统当前时间
return systemdate;
}
/**
* 获取年月格式的时间
* @return
*/
public static String getmonthDate() {
String systemdate = new SimpleDateFormat("yyyy-MM")
.format(Calendar.getInstance().getTime()); // 获取系统当前时间
return systemdate;
}
/**
* 获取当月天数
* @return
*/
public static int getmonthdays() {
Calendar a = Calendar.getInstance();
a.set(Calendar.DATE, 1);//把日期设置为当月第一天
a.roll(Calendar.DATE, -1);//日期回滚一天,也就是最后一天
int maxDate = a.get(Calendar.DATE);
return maxDate;
}
/**
* 设置时间为本周星期一和星期日的日期
* @return
*/
public static Map getweekday(Map<String, String> paramsMap) {
Calendar a = Calendar.getInstance();
//当天是星期几1--7
int dayofweek = a.get(Calendar.DAY_OF_WEEK)-1;
if(dayofweek == 0){
dayofweek = 7;
}
a.add(Calendar.DATE, -(dayofweek-1));//减去dayofweek-1天,也就是星期一
String t1 = new SimpleDateFormat("yyyy-MM-dd").format(a.getTime());
paramsMap.put("queryTime1", t1+" 00:00:00");
System.out.println(t1);
Calendar b = Calendar.getInstance();
b.add(Calendar.DATE, 7-dayofweek);//加上7-dayofweek天,也就是星期日
String t2 = new SimpleDateFormat("yyyy-MM-dd").format(b.getTime());
paramsMap.put("queryTime2", t2+" 23:59:59");
System.out.println(t2);
return paramsMap;
}
/**
* 对月份进行加减
* @param i
* @return
* @throws ParseException
*/
public static Date datePlusOrMinus(String systime ,Integer i) throws ParseException{
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date systDate =df.parse(systime);
GregorianCalendar gc =new GregorianCalendar();
gc.setTime(systDate);
gc.add(2,i);
return gc.getTime();
}
/**
* 得到月日时分秒10位时间戳字符串
*/
public static String getTenTimestamp() {
String systemdate = new SimpleDateFormat("MMddHHmmss").format(Calendar.getInstance().getTime());
return systemdate;
}
/**
* 得到当年
*/
public static Integer getNowYear() {
String nowyear = new SimpleDateFormat("yyyy").format(Calendar.getInstance().getTime());
return Integer.parseInt(nowyear);
}
/**
* 产生6位随机数
*/
public static String getSixRandom(){
int random1 = (int) (Math.random() * 900000 + 100000);
String random = String.valueOf(random1);
return random;
}
/**
* 产生2位随机数
*/
public static String getTwoRandom(){
int random1 = (int) (Math.random() * 90 + 10);
String random = String.valueOf(random1);
return random;
}
}