/*====================================================
*功能:完成字符串转换成ORACLE日期数据格式的功能
*作者:陈庆余
*完成日期:2004年05月13日
*版本:V1.0
*===================================================*/
package com.unit.DateConversion;
import java.util.Calendar;
import com.unit.ValidateNum.*;
public class DateConversion {
ValidateNum VN = new ValidateNum();
//输入的是三个字符串分别是:年、月、日
public java.sql.Date DateConversion(String DateStr_Year,String DateStr_Month,String DateStr_Day) {
int Date_Year;
int Date_Month;
int Date_Day;
Date_Year = VN.StrToNum(DateStr_Year);
Date_Month = VN.StrToNum(DateStr_Month);
Date_Day = VN.StrToNum(DateStr_Day);
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Date_Year,Date_Month,Date_Day);
java.util.Date UtilDate = cal.getTime();
long NowTime = UtilDate.getTime();
java.sql.Date NowDate = new java.sql.Date(NowTime);
return NowDate;
}
//输入的是一个字符串,其值是年月日的叠加(如:20050515)
public java.sql.Date DateConversion(String DateStr) {
int Date_Year;
int Date_Month;
int Date_Day;
Date_Year = VN.StrToNum(DateStr.substring(0,4));
Date_Month = VN.StrToNum(DateStr.substring(4,6));
Date_Day = VN.StrToNum(DateStr.substring(6,8));
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Date_Year,Date_Month-1,Date_Day);
java.util.Date UtilDate = cal.getTime();
long NowTime = UtilDate.getTime();
java.sql.Date NowDate = new java.sql.Date(NowTime);
return NowDate;
}
//输入的是一个字符串,其值是年月日的叠加(如:2005-05-15)
public java.sql.Date DateConversionA(String DateStr) {
int Date_Year;
int Date_Month;
int Date_Day;
Date_Year = VN.StrToNum(DateStr.substring(0,4));
Date_Month = VN.StrToNum(DateStr.substring(5,7));
Date_Day = VN.StrToNum(DateStr.substring(8,10));
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Date_Year,Date_Month-1,Date_Day);
java.util.Date UtilDate = cal.getTime();
long NowTime = UtilDate.getTime();
java.sql.Date NowDate = new java.sql.Date(NowTime);
return NowDate;
}
//获得当日的日期(服务器)
public java.sql.Date NowDate() {
Calendar cal = Calendar.getInstance();
java.util.Date UtilDate = cal.getTime();
long NowTime = UtilDate.getTime();
java.sql.Date NowDate = new java.sql.Date(NowTime);
return NowDate;
}
//获得上一个月的第一天
public java.sql.Date getFrontMixDay() {
Calendar cal = Calendar.getInstance();
int MixDayTodayMonth = 1;
int NowYear = cal.get(cal.YEAR);
int NowMonth = cal.get(cal.MONTH)-1;
cal.clear();
cal.set(NowYear,NowMonth,MixDayTodayMonth);
java.util.Date UtilDate = cal.getTime();
long NowMaxTime = UtilDate.getTime();
java.sql.Date NowMaxDate = new java.sql.Date(NowMaxTime);
return NowMaxDate;
}
//获得上一个月的最大日期[最后一天]
public java.sql.Date getFrontMaxDay() {
Calendar cal = Calendar.getInstance();
int MaxDayTodayMonth = cal.getActualMaximum(cal.DAY_OF_MONTH);
int NowYear = cal.get(cal.YEAR);
int NowMonth = cal.get(cal.MONTH)-1;
cal.clear();
cal.set(NowYear,NowMonth,MaxDayTodayMonth);
java.util.Date UtilDate = cal.getTime();
long NowMaxTime = UtilDate.getTime();
java.sql.Date NowMaxDate = new java.sql.Date(NowMaxTime);
return NowMaxDate;
}
//获得当月最大日期(服务器)
public java.sql.Date MaxDateNowMonth() {
Calendar cal = Calendar.getInstance();
int MaxDayTodayMonth = cal.getActualMaximum(cal.DAY_OF_MONTH);
int NowYear = cal.get(cal.YEAR);
int NowMonth = cal.get(cal.MONTH);
cal.clear();
cal.set(NowYear,NowMonth,MaxDayTodayMonth);
java.util.Date UtilDate = cal.getTime();
long NowMaxTime = UtilDate.getTime();
java.sql.Date NowMaxDate = new java.sql.Date(NowMaxTime);
return NowMaxDate;
}
//获得当月最小日期(服务器)
public java.sql.Date MixDateNowMonth() {
Calendar cal = Calendar.getInstance();
int MixDayTodayMonth = 1;
int NowYear = cal.get(cal.YEAR);
int NowMonth = cal.get(cal.MONTH);
cal.clear();
cal.set(NowYear,NowMonth,MixDayTodayMonth);
java.util.Date UtilDate = cal.getTime();
long NowMixTime = UtilDate.getTime();
java.sql.Date NowMixDate = new java.sql.Date(NowMixTime);
return NowMixDate;
}
//获得当年的最大日期
public java.sql.Date MaxDateNowYear() {
Calendar cal = Calendar.getInstance();
int MaxDayNowYear = 1;
int NowYear = cal.get(cal.YEAR);
int MaxMonthNowYear = 12;
cal.clear();
cal.set(NowYear,MaxMonthNowYear-1,MaxDayNowYear);
MaxDayNowYear = cal.getActualMaximum(cal.DAY_OF_MONTH);
cal.clear();
cal.set(NowYear,MaxMonthNowYear-1,MaxDayNowYear);
java.util.Date UtilDate = cal.getTime();
long NowMaxTime = UtilDate.getTime();
java.sql.Date NowMaxDate = new java.sql.Date(NowMaxTime);
return NowMaxDate;
}
//获得当年的最小日期(服务器)
public java.sql.Date MixDateNowYear() {
Calendar cal = Calendar.getInstance();
int MixDayNowYear = 1;
int NowYear = cal.get(cal.YEAR);
int MixMonthNowYear = 0;
cal.clear();
cal.set(NowYear,MixMonthNowYear,MixDayNowYear);
java.util.Date UtilDate = cal.getTime();
long NowMixTime = UtilDate.getTime();
java.sql.Date NowMixDate = new java.sql.Date(NowMixTime);
return NowMixDate;
}
}