java中关于日期 Date 的相关操作
2007-12-21 19:59
726 查看
/**
* 计算日期差值。
*
* @param sBeginDate
* @param sEndDate
* @return
*/
public int computeCoolingOffPeriod(Date sBeginDate,Date sEndDate) throws Exception{
Calendar calendar1=Calendar.getInstance();;
Calendar calendar2=Calendar.getInstance();;
calendar1.setTime(sBeginDate);
calendar2.setTime(sEndDate);
return (int)( (calendar2.getTimeInMillis()-calendar1.getTimeInMillis())/1000/60/60/24 );//获取天数的差值。
}
1 ,计算一日期加上若干天之后的日期。
/** *//**
* 期日を増加します
*
* @param date String対象
* @param inteval int対象
* @return String対象
*/
public static String resetDay(String date,int inteval) ...{
String dateTimeFrom = "";
try ...{
// DateFormat df = DateFormat.getDateTimeInstance();
Calendar calendar = new GregorianCalendar();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
calendar.clear();
calendar.set(Integer.parseInt(date.substring(0,4)), Integer.parseInt(date.substring(5,7)) - 1, Integer
.parseInt(date.substring(8, 10)));
calendar.add(Calendar.DAY_OF_MONTH, inteval);
dateTimeFrom = simpleDateFormat.format(calendar.getTime());
return dateTimeFrom;
} catch (Exception e) ...{
e.getMessage();
return "";
}
}
2 ,计算两个日期相差几天。
/** *//**
* 2つの任意の期日間の違いの運命を計算します(自然の日)
*
* @param sBeginDate String対象
* @param sEndDate String対象
*
* @return 期日間の違い
* @throws Exception 例外を発生した場合の対象。
*/
public int computeCoolingOffPeriod(String sBeginDate,String sEndDate) throws Exception...{
Calendar calendar1=Calendar.getInstance();;
Calendar calendar2=Calendar.getInstance();;
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMdd");//格式很重要:是20051031
//if (sBeginDate.equals("0")) {System.out.println("sBirthDate.equals====0"); sBeginDate = "19000101"; }
calendar1.setTime(formatter1.parse(sBeginDate.replaceAll("/", "")));
calendar2.setTime(formatter1.parse(sEndDate.replaceAll("/", "")));
return (int)( (calendar2.getTimeInMillis()-calendar1.getTimeInMillis())/1000/60/60/24 );//获取天数的差值。
}
3 求一个日期在两个日期之间。
/** *//**
* 有効な期限内の勤務区分を得ます
*
* @param tmpArrayList ArrayList対象
* @param fromDateString String対象
*
* @return なし
* @throws Exception 例外を発生した場合の対象。
*
*/
private ArrayList resetList(ArrayList tmpArrayList,String fromDateString)throws Exception...{
ArrayList applicationList = new ArrayList();
for(int i = 0; i < tmpArrayList.size(); i++)...{
SmallDateChoose smallDateChoose = (SmallDateChoose) tmpArrayList.get(i);
Calendar fromDate = Calendar.getInstance();
Calendar availabilityStartDate = Calendar.getInstance();
Calendar availabilityEndDate = Calendar.getInstance();
String availabilityStartDateString = smallDateChoose.getAvailabilityStartDate();
String availabilityEndDatetring = smallDateChoose.getAvailabilityEndDate();
fromDate.setTime(fromDate.getTime());
fromDate.set(Integer.parseInt(fromDateString.substring(0, 4)), Integer
.parseInt(fromDateString.substring(5, 7)) - 1, Integer.parseInt(fromDateString
.substring(8, 10)));
availabilityStartDate.set(Integer.parseInt(availabilityStartDateString.substring(0, 4)), Integer.parseInt(availabilityStartDateString
.substring(5, 7)) - 1, Integer.parseInt(availabilityStartDateString.substring(8, 10)));
availabilityEndDate.set(Integer.parseInt(availabilityEndDatetring.substring(0, 4)), Integer.parseInt(availabilityEndDatetring
.substring(5, 7)) - 1, Integer.parseInt(availabilityEndDatetring.substring(8, 10)));
if(! fromDate.before(availabilityStartDateString) & ! fromDate.after(availabilityEndDate))...{
ArrayList tempList = new ArrayList();
tempList.add(smallDateChoose.getWorkDivisionName());
applicationList.add(tempList);
}
}
return applicationList;
}
4.根据日期获得对应的星期几。
/** *//**
* 曜日を獲得します
*
* @param argDate
*
* @return なし
*
*/
private String getDayOfWeek(String argDate) ...{
if (argDate.length() != 10) ...{
throw new IllegalArgumentException("argDate length != 8");
}
int intArgY = Integer.parseInt(argDate.substring(0, 4));
int intArgM = Integer.parseInt(argDate.substring(5, 7));
int intArgD = Integer.parseInt(argDate.substring(8, 10));
Calendar calendar = GregorianCalendar.getInstance();
calendar.set(intArgY, intArgM - 1, intArgD);
int returnDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
String showDate = "";
switch (returnDayOfWeek) ...{
case 1:
showDate = "日";
break;
case 2:
showDate = "月";
break;
case 3:
showDate = "火";
break;
case 4:
showDate = "水";
break;
case 5:
showDate = "木";
break;
case 6:
showDate = "金";
break;
default:
showDate = "土";
break;
}
return showDate;
}
// 另一个Java获取各种常用时间方法
http://www.javaeye.com/topic/285405
* 计算日期差值。
*
* @param sBeginDate
* @param sEndDate
* @return
*/
public int computeCoolingOffPeriod(Date sBeginDate,Date sEndDate) throws Exception{
Calendar calendar1=Calendar.getInstance();;
Calendar calendar2=Calendar.getInstance();;
calendar1.setTime(sBeginDate);
calendar2.setTime(sEndDate);
return (int)( (calendar2.getTimeInMillis()-calendar1.getTimeInMillis())/1000/60/60/24 );//获取天数的差值。
}
1 ,计算一日期加上若干天之后的日期。
/** *//**
* 期日を増加します
*
* @param date String対象
* @param inteval int対象
* @return String対象
*/
public static String resetDay(String date,int inteval) ...{
String dateTimeFrom = "";
try ...{
// DateFormat df = DateFormat.getDateTimeInstance();
Calendar calendar = new GregorianCalendar();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
calendar.clear();
calendar.set(Integer.parseInt(date.substring(0,4)), Integer.parseInt(date.substring(5,7)) - 1, Integer
.parseInt(date.substring(8, 10)));
calendar.add(Calendar.DAY_OF_MONTH, inteval);
dateTimeFrom = simpleDateFormat.format(calendar.getTime());
return dateTimeFrom;
} catch (Exception e) ...{
e.getMessage();
return "";
}
}
2 ,计算两个日期相差几天。
/** *//**
* 2つの任意の期日間の違いの運命を計算します(自然の日)
*
* @param sBeginDate String対象
* @param sEndDate String対象
*
* @return 期日間の違い
* @throws Exception 例外を発生した場合の対象。
*/
public int computeCoolingOffPeriod(String sBeginDate,String sEndDate) throws Exception...{
Calendar calendar1=Calendar.getInstance();;
Calendar calendar2=Calendar.getInstance();;
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMdd");//格式很重要:是20051031
//if (sBeginDate.equals("0")) {System.out.println("sBirthDate.equals====0"); sBeginDate = "19000101"; }
calendar1.setTime(formatter1.parse(sBeginDate.replaceAll("/", "")));
calendar2.setTime(formatter1.parse(sEndDate.replaceAll("/", "")));
return (int)( (calendar2.getTimeInMillis()-calendar1.getTimeInMillis())/1000/60/60/24 );//获取天数的差值。
}
3 求一个日期在两个日期之间。
/** *//**
* 有効な期限内の勤務区分を得ます
*
* @param tmpArrayList ArrayList対象
* @param fromDateString String対象
*
* @return なし
* @throws Exception 例外を発生した場合の対象。
*
*/
private ArrayList resetList(ArrayList tmpArrayList,String fromDateString)throws Exception...{
ArrayList applicationList = new ArrayList();
for(int i = 0; i < tmpArrayList.size(); i++)...{
SmallDateChoose smallDateChoose = (SmallDateChoose) tmpArrayList.get(i);
Calendar fromDate = Calendar.getInstance();
Calendar availabilityStartDate = Calendar.getInstance();
Calendar availabilityEndDate = Calendar.getInstance();
String availabilityStartDateString = smallDateChoose.getAvailabilityStartDate();
String availabilityEndDatetring = smallDateChoose.getAvailabilityEndDate();
fromDate.setTime(fromDate.getTime());
fromDate.set(Integer.parseInt(fromDateString.substring(0, 4)), Integer
.parseInt(fromDateString.substring(5, 7)) - 1, Integer.parseInt(fromDateString
.substring(8, 10)));
availabilityStartDate.set(Integer.parseInt(availabilityStartDateString.substring(0, 4)), Integer.parseInt(availabilityStartDateString
.substring(5, 7)) - 1, Integer.parseInt(availabilityStartDateString.substring(8, 10)));
availabilityEndDate.set(Integer.parseInt(availabilityEndDatetring.substring(0, 4)), Integer.parseInt(availabilityEndDatetring
.substring(5, 7)) - 1, Integer.parseInt(availabilityEndDatetring.substring(8, 10)));
if(! fromDate.before(availabilityStartDateString) & ! fromDate.after(availabilityEndDate))...{
ArrayList tempList = new ArrayList();
tempList.add(smallDateChoose.getWorkDivisionName());
applicationList.add(tempList);
}
}
return applicationList;
}
4.根据日期获得对应的星期几。
/** *//**
* 曜日を獲得します
*
* @param argDate
*
* @return なし
*
*/
private String getDayOfWeek(String argDate) ...{
if (argDate.length() != 10) ...{
throw new IllegalArgumentException("argDate length != 8");
}
int intArgY = Integer.parseInt(argDate.substring(0, 4));
int intArgM = Integer.parseInt(argDate.substring(5, 7));
int intArgD = Integer.parseInt(argDate.substring(8, 10));
Calendar calendar = GregorianCalendar.getInstance();
calendar.set(intArgY, intArgM - 1, intArgD);
int returnDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
String showDate = "";
switch (returnDayOfWeek) ...{
case 1:
showDate = "日";
break;
case 2:
showDate = "月";
break;
case 3:
showDate = "火";
break;
case 4:
showDate = "水";
break;
case 5:
showDate = "木";
break;
case 6:
showDate = "金";
break;
default:
showDate = "土";
break;
}
return showDate;
}
// 另一个Java获取各种常用时间方法
http://www.javaeye.com/topic/285405
相关文章推荐
- 关于日期时间操作工具类DateUtil(二) -----对java.sql.Timestamp 的操作.
- 关于日期时间操作工具类DateUtil(一)-----对java.util.Date 的操作.
- java 日期的格式化、解析、数据库相关操作、获取系统时间、String与Date的转换
- Java中关于获得日期的操作
- JAVA 日期操作相关记录
- java中关于时间日期操作的常用函数
- Java日期的相关操作
- JAVA中关于DATE时间日期加减、String与Date类型的转换
- java 日期操作 DateUtil
- 日期Date操作的相关方法
- java中关于时间日期操作的常用函数
- java中关于日期的操作
- JS关于日期相关的操作
- 关于java日期类Date,DateFormat,SimpleDateFormat,Calendar总结
- 收藏:java中关于时间日期操作的常用函数
- !JAVA学习提高之---- JAVA日期格式化及相关操作
- JDBC中使用Java8的日期LocalDate和LocalDateTime操作mysql、postgresql
- java日期类操作:Date、SimpleDateFormat、Calendar简介
- jAVA处理日期(Date)时间(Time)以及相关类的介绍
- java中关于时间日期操作的常用函数