关于日期的java函数

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DateUtil {

public static String dateTimeChange(Date source) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String changeTime = format.format(source);
return changeTime;
}

public static String shortDate(Date aDate) {
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
return formatter.format(aDate);
}

public static String nowDate() {
String iDate="";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String str= formatter.format(new Date());
String[] date = str.split("-");
if (date.length >= 3) {
iDate = date[0] + "/" + date[1] + "/" + date[2]+"";
} else {
iDate = str;
}
return iDate;
}

public static String mailDate(Date aDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS");
return formatter.format(aDate);
}
public static String dateParser(Date aDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(aDate);
}

public static Date parser(String strDate) {
; strDate = strDate.replace("/", "-");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
return sdf.parse(strDate);
} catch (Exception e) {
return null;
}
}

public static Date parser(String strDate, String formatter) {
SimpleDateFormat sdf = new SimpleDateFormat(formatter);
try {
return sdf.parse(strDate);
} catch (Exception e) {
return null;
}
}

public static String parser(Date date,String formatter){
SimpleDateFormat sdf = new SimpleDateFormat(formatter);
try {
return sdf.format(date);
} catch (Exception e) {
return null;
}
}

public static Date addMonth(Date myDate, int amount) {
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(myDate);
boolean isEndDayOfMonth_old = cal
.getActualMaximum(GregorianCalendar.DAY_OF_MONTH) == cal
.get(GregorianCalendar.DAY_OF_MONTH);
cal.add(GregorianCalendar.MONTH, amount);
boolean isEndDayOfMonth_new = cal
.getActualMaximum(GregorianCalendar.DAY_OF_MONTH) == cal
.get(GregorianCalendar.DAY_OF_MONTH);
if (isEndDayOfMonth_old && !isEndDayOfMonth_new) {
cal.set(GregorianCalendar.DATE, cal
.getActualMaximum(GregorianCalendar.DAY_OF_MONTH));
}
return cal.getTime();
}

public static Date addDay(Date myDate, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(myDate);
cal.add(Calendar.DAY_OF_MONTH, amount);
return cal.getTime();
}

public static Date addMinute(Date myDate, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(myDate);
int minute = 0;
amount = -(amount);

if (amount > 60) {

int hour = (int) amount / 60;

if (hour * 60 > amount) {
minute = hour * 60 - amount;

cal.add(Calendar.HOUR_OF_DAY, -hour);
cal.add(Calendar.MINUTE, minute);

} else if (hour * 60 < amount) {

minute = amount - hour * 60;
cal.add(Calendar.HOUR_OF_DAY, -hour);
cal.add(Calendar.MINUTE, -minute);

} else {
cal.add(Calendar.HOUR_OF_DAY, -hour);
}

} else {

cal.add(Calendar.MINUTE, -amount);
}
return cal.getTime();
}

public static Date addYear(Date myDate, int amount) {
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(myDate);
boolean isEndDayOfMonth_old = cal
.getActualMaximum(GregorianCalendar.DAY_OF_MONTH) == cal
.get(GregorianCalendar.DAY_OF_MONTH);
cal.add(GregorianCalendar.YEAR, amount);
boolean isEndDayOfMonth_new = cal
.getActualMaximum(GregorianCalendar.DAY_OF_MONTH) == cal
.get(GregorianCalendar.DAY_OF_MONTH);
if (isEndDayOfMonth_old && !isEndDayOfMonth_new) {
cal.set(GregorianCalendar.DATE, cal
.getActualMaximum(GregorianCalendar.DAY_OF_MONTH));
}
return cal.getTime();
}

public static int getWeekDay(Date myDate) {
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(myDate);
return cal.get(GregorianCalendar.DAY_OF_WEEK);
}

public static int getConvertWeekDay(Date myDate) {
int day = getWeekDay(myDate);
int result = day - 1;
if (result == 0)
result = 7;
return result;
}

public static int getTimeFromDate(Date myDate) {
SimpleDateFormat sdf = new SimpleDateFormat("hhmmss");
int result = Integer.parseInt(sdf.format(myDate));
return result;
}

public static long getDaysBetweenDate(Date startDate, Date endDate) {
Calendar cal = Calendar.getInstance();
cal.setTime(startDate);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
startDate = cal.getTime();
cal.setTime(endDate);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return (cal.getTime().getTime() - startDate.getTime()) / 86400000;

}

public static String strDateTime(String str) {
String idate = "";
if (str != null) {
String[] date = str.split("-");
if (date.length >= 3) {
idate = date[0] + "." + date[1] + "." + date[2];
} else {
idate = str;
}
}
return idate;
}

public static String strDotDateTime(String str) {
String idate = "";
if (str != null) {
String data0 = null;
String[] date = str.split("-");
if (date.length >= 3) {
if (date[0] != null) {
data0 = date[0].substring(2, 4);
}
idate = data0 + "." + date[1] + "." + date[2];
} else {
idate = str;
}
}
return idate;
}

public static String bakDateTime(String str) {
String idate = "";
if (str != null) {
int l1 = str.indexOf(".");
String d1 = str.substring(0, l1);
String s1 = str.substring(l1 + 1);
int l2 = s1.indexOf(".");
String d2 = s1.substring(0, l2);
String d3 = s1.substring(l2 + 1);
idate = d1 + "-" + d2 + "-" + d3;
}
return idate;
}

public static String strShortDateTime(String str) {
String idate = "";
if (str != null) {
String[] date = str.split("-");
if (date.length >= 3) {
idate = date[0] + "." + date[1] + "." + date[2];
} else {
idate = str;
}
if (idate != null && idate.length() > 9) {
idate = idate.substring(0, 10);

}
}
return idate;
}

public static int getBetweenDayNumber(String dateA, String dateB) {
      long dayNumber = 0;
      long DAY = 24L * 60L * 60L * 1000L;
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
      try {
       java.util.Date d1 = df.parse(dateA);
       java.util.Date d2 = df.parse(dateB);
       dayNumber = (d2.getTime() - d1.getTime()) / DAY;
      } catch (Exception e) {
       e.printStackTrace();
      }
      return (int) dayNumber;
     }
public static String getDateKor(String str){
String idate = "";
if (str != null) {
String[] date = str.split("-");
if (date.length >= 3) {
idate = date[0] + "锟?" + date[1] + "锟?" + date[2]+"锟?";
} else {
idate = str;
}
if (idate != null && idate.length() > 9) {
idate = idate.substring(0, 11);

}
}
return idate;
}

public static void main(String[] args) {
System.out.println(nowDate());
}
}

猜你喜欢

转载自zg973595977.iteye.com/blog/1744563