Calendar日期的java轉換
/**
* 獲取輸入日曆今天的起止時間
* @param cal
* @return
*/
public static List<String> getCurrentDay(Calendar cal){
List<String> list=new ArrayList<>();
Calendar calendar=(Calendar) cal.clone();
String start=getDateToString(calendar.getTime(), "yyyy/MM/dd");
String stop=start;
list.add(start);
list.add(stop);
return list;
}
/**
* 獲取輸入日曆明天的起止時間
* @param cal
* @return
*/
public static List<String> getNextDay(Calendar cal){
List<String> list=new ArrayList<>();
Calendar calendar=(Calendar) cal.clone();
calendar.add(Calendar.DATE, 1);
String start=getDateToString(calendar.getTime(), "yyyy/MM/dd");
String stop=start;
list.add(start);
list.add(stop);
return list;
}
/**
* 獲取輸入日曆的本週起止時間
* @param cal 輸入的日曆
* @return 該日曆的本週的起止時間字符串
*/
public static List<String> getCurrentWeek(Calendar cal){
List<String> list=new ArrayList<>();
Calendar calendar=(Calendar) cal.clone();
int week=cal.get(Calendar.DAY_OF_WEEK);
//減去的天數
int minusDay=week!=1?week-2:6;
//本週的第一天
calendar.add(Calendar.DATE, -minusDay);
String start= getDateToString(calendar.getTime(), "yyyy/MM/dd");
//本週的最後一天
calendar.add(Calendar.DATE, 6);
String stop=getDateToString(calendar.getTime(), "yyyy/MM/dd");
list.add(start);
list.add(stop);
return list;
}
/**
* 獲取輸入日曆的下週起止時間
* @param cal 輸入的日曆
* @return 該日曆的下週的起止時間字符串
*/
public static List<String> getNextWeek(Calendar cal){
List<String> list=new ArrayList<>();
Calendar calendar=(Calendar) cal.clone();
int week=cal.get(Calendar.DAY_OF_WEEK);
//減去的天數
int minusDay=week!=1?week-2:6;
//下週的第一天
calendar.add(Calendar.DATE, 7-minusDay);
String start= getDateToString(calendar.getTime(), "yyyy/MM/dd");
//下週的最後一天
calendar.add(Calendar.DATE, 6);
String stop=getDateToString(calendar.getTime(), "yyyy/MM/dd");
list.add(start);
list.add(stop);
return list;
}
/**
* 獲取輸入日曆本月的起止時間
* @param cal
* @return
*/
public static List<String> getCurrentMonth(Calendar cal){
List<String> list=new ArrayList<>();
Calendar calendar=(Calendar) cal.clone();
calendar.set(Calendar.DATE, 1);
String start=getDateToString(calendar.getTime(), "yyyy/MM/dd");
String stop=start;
list.add(start);
list.add(stop);
return list;
}
/**
* 獲取輸入日曆下月的起止時間
* @param cal
* @return
*/
public static List<String> getNextMonth(Calendar cal){
List<String> list=new ArrayList<>();
Calendar calendar=(Calendar) cal.clone();
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DATE, 1);
String start=getDateToString(calendar.getTime(), "yyyy/MM/dd");
String stop=start;
list.add(start);
list.add(stop);
return list;
}
/**
* 將一個表示時間的Calendar值按年 月 日 小時 分鐘 秒 調整,形成新的時間
* @param cal 表示待調整的日曆
* @param year 調整的年數,正數爲向後調整,負數爲向前調整
* @param month 調整的月數,正數爲向後調整,負數爲向前調整
* @param day 調整的天數,正數爲向後調整,負數爲向前調整
* @param hour 調整的時數,正數爲向後調整,負數爲向前調整
* @param min 調整的分數,正數爲向後調整,負數爲向前調整
* @param sec 調整的秒數,正數爲向後調整,負數爲向前調整
* @return 調整後的日曆
*/
public static Calendar getAdjustCalendar(Calendar cal, int year, int month,
int day,int hour,int min,int sec){
Calendar calendar=(Calendar) cal.clone();
calendar.add(Calendar.YEAR, year);
calendar.add(Calendar.MONTH, month);
calendar.add(Calendar.DATE,day );
calendar.add(Calendar.HOUR, hour);
calendar.add(Calendar.MINUTE, min);
calendar.add(Calendar.SECOND, sec);
return calendar;
}
/**
* 將一個表示時間的Calendar值按指定的域調整,形成新的時間
* @param cal 表示待調整的日曆
* @param field 要調整的域(Calendar.YEAR,Calendar.MONTH,Calendar.DATE,Calendar.HOUR,Calendar.MINUTE,Calendar.SECOND)
* @param mount 調整的數值,正數爲向後調整,負數爲向前調整
* @return 調整後的日曆
*/
public static Calendar getAdjustCalendar(Calendar cal,int field,int mount){
Calendar calendar=null;
switch (field) {
case Calendar.YEAR:
calendar=getAdjustCalendar(cal, mount, 0, 0, 0, 0, 0);
break;
case Calendar.MONTH:
calendar = getAdjustCalendar(cal, 0, mount, 0, 0, 0, 0);
break;
case Calendar.DATE:
calendar = getAdjustCalendar(cal, 0, 0, mount, 0, 0, 0);
break;
case Calendar.HOUR:
calendar = getAdjustCalendar(cal, 0, 0, 0, mount, 0, 0);
break;
case Calendar.MINUTE:
calendar = getAdjustCalendar(cal, 0, 0, 0, 0, mount, 0);
break;
case Calendar.SECOND:
calendar = getAdjustCalendar(cal, 0, 0, 0, 0, 0, mount);
break;
default:
calendar=null;
break;
}
return calendar;
}
/**
* 獲取指定日期的字符串格式
* @param date 指定的日期
* @param pattern 指定的格式
* @return 轉換之後的字符串
*/
public static String getDateToString(Date date,String pattern){
SimpleDateFormat simpleDateFormat=new SimpleDateFormat(pattern);
String str=simpleDateFormat.format(date);
System.out.println(str);
return str ;
}
/**
* 獲取指定字符串的日期格式
* @param str 指定字符串
* @param pattern 指定的格式
* @return 轉換之後的日期
* @throws ParseException 解析異常
*/
public static Date getStringToDate(String str,String pattern) throws ParseException{
SimpleDateFormat simpleDateFormat=new SimpleDateFormat(pattern);
Date date=simpleDateFormat.parse(str);
System.out.println(date);
return date;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.