📄 dateutility.java
字号:
case 1: // '\001'
dates = 31;
break;
case 2: // '\002'
if(year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
dates = 29;
else
dates = 28;
break;
case 3: // '\003'
dates = 31;
break;
case 4: // '\004'
dates = 30;
break;
case 5: // '\005'
dates = 31;
break;
case 6: // '\006'
dates = 30;
break;
case 7: // '\007'
dates = 31;
break;
case 8: // '\b'
dates = 31;
break;
case 9: // '\t'
dates = 30;
break;
case 10: // '\n'
dates = 31;
break;
case 11: // '\013'
dates = 30;
break;
case 12: // '\f'
dates = 31;
break;
}
return dates;
}//eof getLastDate(String)
/**
* ???????¨?????ò????????????
* @return java.lang.String
* @param periodType int
* 0±í?????? 1±í????·?
* @param year java.lang.String
* @param period java.lang.String
*/
public static String[] getDate(int periodType, String year, String period) {
String[] dates = {getCurrentDate(), getCurrentDate()};
// Validate
if (periodType != 0 && periodType != 1) {
// Error period type
System.err.println("Error period type in DateUtil.getDate().");
System.err.println("Period type(0-1):" + periodType);
return dates;
}
int intYear = 2000;
try {
intYear = Integer.parseInt(year);
if (intYear < 1900 || intYear > 3000) {
System.err.println("Invalid year in DateUtil.getDate().");
System.err.println("Year(1900-3000):" + year);
return dates;
}
} catch (NumberFormatException e) {
System.err.println("Invalid year in DateUtil.getDate().");
System.err.println("Year:" + year);
return dates;
}
int intPeriod = 1;
try {
intPeriod = Integer.parseInt(period);
if (periodType == 0) {
// Season
if (intPeriod < 1 || intPeriod > 4) {
System.err.println("Invalid season in DateUtil.getDate().");
System.err.println("Season(1-4):" + period);
return dates;
}
} else {
// Month
if (intPeriod < 1 || intPeriod > 12) {
System.err.println("Invalid month in DateUtil.getDate().");
System.err.println("Month(1-12):" + period);
return dates;
}
}
} catch (NumberFormatException e) {
System.err.println("Invalid period in DateUtil.getDate().");
System.err.println("Period:" + period);
return dates;
}
if (periodType == 0) {
// Season
switch (intPeriod) {
case 1 :
dates[0] = year + "-1-1";
dates[1] = year + "-3-31";
break;
case 2 :
dates[0] = year + "-4-1";
dates[1] = year + "-6-30";
break;
case 3 :
dates[0] = year + "-7-1";
dates[1] = year + "-9-30";
break;
case 4 :
dates[0] = year + "-10-1";
dates[1] = year + "-12-31";
break;
}
} else {
// Month
switch (intPeriod) {
case 1 :
dates[0] = year + "-1-1";
dates[1] = year + "-1-31";
break;
case 2 :
dates[0] = year + "-2-1";
if ((intYear % 400 == 0) || ((intYear % 4 == 0) && (intYear % 100 != 0))) {
dates[1] = year + "-2-29";
} else {
dates[1] = year + "-2-28";
}
break;
case 3 :
dates[0] = year + "-3-1";
dates[1] = year + "-3-31";
break;
case 4 :
dates[0] = year + "-4-1";
dates[1] = year + "-4-30";
break;
case 5 :
dates[0] = year + "-5-1";
dates[1] = year + "-5-31";
break;
case 6 :
dates[0] = year + "-6-1";
dates[1] = year + "-6-30";
break;
case 7 :
dates[0] = year + "-7-1";
dates[1] = year + "-7-31";
break;
case 8 :
dates[0] = year + "-8-1";
dates[1] = year + "-8-31";
break;
case 9 :
dates[0] = year + "-9-1";
dates[1] = year + "-9-30";
break;
case 10 :
dates[0] = year + "-10-1";
dates[1] = year + "-10-31";
break;
case 11 :
dates[0] = year + "-11-1";
dates[1] = year + "-11-30";
break;
case 12 :
dates[0] = year + "-12-1";
dates[1] = year + "-12-31";
break;
}
}
return dates;
}//eof getDate(int,String,String)
/*
* 获取ORACLE的默认日期格式时间(add in 2003-11-21 @author:windy)
* @param String aDate 如:"2003-1-3"
* @return String 如:"03-一月-2003 12:00:00 AM"
*/
public static String getOracleDefaultDate(String aDate){
String returnDate = new String();
DateFormat dateFormat = DateFormat.getDateInstance();
Date date1 = null;
try
{
String[] dateArray = aDate.split("-");
String thisYear = dateArray[0];
int date1Month = Integer.parseInt(dateArray[1]);
int date1Date = Integer.parseInt(dateArray[2]);
String thisDate = new String();
if(date1Date < 10){
thisDate = "0".concat(String.valueOf(date1Date));
}else{
thisDate = String.valueOf(date1Date);
}
String thisMonth = new String();
switch(date1Month){
case 1:
thisMonth = "一月";
break;
case 2:
thisMonth = "二月";
break;
case 3:
thisMonth = "三月";
break;
case 4:
thisMonth = "四月";
break;
case 5:
thisMonth = "五月";
break;
case 6:
thisMonth = "六月";
break;
case 7:
thisMonth = "七月";
break;
case 8:
thisMonth = "八月";
break;
case 9:
thisMonth = "九月";
break;
case 10:
thisMonth = "十月";
break;
case 11:
thisMonth = "十一月";
break;
case 12:
thisMonth = "十二月";
break;
}
returnDate = thisDate.concat("-").concat(thisMonth).concat("-").concat(thisYear).concat(" 12:00:00 AM");
}
catch(Exception e)
{
e.printStackTrace();
}
return returnDate;
}//eof getOracleDefaultDate(String)
/*
* 获取中国地区的星期几(add in 2004-1-13 @author:windy)
* @param int intNum
* @return String 如:"星期一"
*/
public static String getDayDesc(int intNum){
String rn = "";
if(intNum<0 || intNum>6){
rn = "";
}
switch(intNum){
case 0:
rn = "星期一";
break;
case 1:
rn = "星期二";
break;
case 2:
rn = "星期三";
break;
case 3:
rn = "星期四";
break;
case 4:
rn = "星期五";
break;
case 5:
rn = "星期六";
break;
case 6:
rn = "星期日";
break;
}
return rn;
}
//test
public static void main(String[] args){
String testDate = "2003-11-22";
//System.out.println(DateUtility.getOracleDefaultDate("2003-11-22"));
System.out.println(DateUtility.getDate(testDate,-1));
System.out.println(DateUtility.getDate("2003-4-5",-1));
}//eof main
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -