프로그래밍/- eGov
DateUtil
즐겁게 하하하
2022. 4. 21. 09:56
728x90
package test.cmmn.util;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
/**
* <b>Description :</b>
* <pre>
* 날짜에 관련한 유틸 클래스 입니다.
* </pre>
* @version
*/
@Component("dateUtil")
public class DateUtil {
Calendar calendar = null;
/**
* 기본생성자 입니다.
*/
public DateUtil() {
calendar = Calendar.getInstance();
calendar.setTime(new Date());
}
/**
* <pre>
* 날짜를 설정 합니다.
* </pre>
* @param timeInMillis the new time in UTC milliseconds from the epoch.
*/
public void setDate(long timeInMillis){
calendar.setTimeInMillis(timeInMillis);
}
/**
* <pre>
* 날짜를 설정 합니다.
* </pre>
* @param cl 표시하고자 하는 날짜
*/
public void setDate(Calendar cl){
calendar = cl;
}
/**
* <pre>
* 날짜를 설정 합니다.
* </pre>
* @param year 년
* @param month 월
* @param day 일
*/
public void setDate(int year, int month, int day){
calendar.set(year, month - 1, day);
}
/**
* <pre>
* 년도를 얻습니다.
* </pre>
* @return 년도
*/
public int getYear() {
return calendar.get(Calendar.YEAR);
}
/**
* <pre>
* 년도를 얻습니다.
* </pre>
* @return 년도
*/
public String getYearString() {
return String.valueOf(calendar.get(Calendar.YEAR));
}
/**
* 4자리로 된 년도를 지정된 포맷으로 변환
* @param date 변환하기 위한 날자 4자리로 된 년도(yyyy)
* @param param 지정된 포맷
* @return String
*/
public String getStringToYyyy(String date) {
if (StringUtils.isEmpty(date) || date.length() != 8) return "";
String rslt = "";
String year = StringUtils.substring(date, 0, 4);
rslt = year +"년 ";
return rslt;
}
/**
* <pre>
* 달을 다음의 형태로 얻습니다.
*
* "January", "February", "March",
* "April", "May", "June",
* "July","August", "September",
* "October", "November", "December"
* </pre>
* @return 문자형 달
*/
public String getMonth() {
int m = getMonthInt();
String[] months = new String [] { "January", "February", "March",
"April", "May", "June",
"July", "August", "September",
"October", "November", "December" };
if (m > 12)
return "Unknown to Man";
return months[m - 1];
}
/**
* <pre>
* 요일을 다음의 형태로 얻습니다.
*
* "일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"
* </pre>
* @return 한글 요일
*/
public String getDay() {
int x = getDayOfWeek();
String[] days = new String[] {"일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"};
if (x > 7)
return "Unknown to Man";
return days[x - 1];
}
/**
* <pre>
* 달을 숫자의 형태로 얻습니다.
* </pre>
* @return 숫자형 달
*/
public int getMonthInt() {
return 1 + calendar.get(Calendar.MONTH);
}
/**
* 현재 격주를 숫자의 형태로 얻습니다.
* @return int
*/
public int getFortnightInt() {
return (calendar.get(Calendar.DATE) / 15) + 1;
}
/**
* 현재 격주를 문자의 형태로 얻습니다.
* @return String
*/
public String getFortnightString() {
return String.valueOf((calendar.get(Calendar.DATE) / 15) + 1);
}
/**
* <pre>
* 날짜를 얻습니다.
* </pre>
* @return yyyy-m-d
*/
public String getDate() {
return getYear() + "-" + getMonthInt() + "-" + getDayOfMonth();
}
/**
* <pre>
* 날짜를 얻습니다.
* </pre>
* @param i 특정월
* @return yyyy-m-d
*/
public String getDate(int i) {
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, i);
setDate(calendar);
return getYear() + "-" + getMonthInt() + "-" + getDayOfMonth();
}
/**
* <pre>
* 시간을 얻습니다.
* </pre>
* @return HH:mm:ss
*/
public String getTime() {
return getHour() + ":" + getMinute() + ":" + getSecond();
}
/**
* <pre>
* 시간을 얻습니다.
* </pre>
* @return HH+sep+mm+sep+ss
*/
public String getTime(String separator) {
return getHourDigit() + separator + getMinuteDigit() + separator+ getSecondDigit();
}
/**
* <pre>
* 날짜시간을 얻습니다.
* </pre>
* @return yyyymmddHHmmss
*/
public String getDateTime() {
String dateTime = getDateOct("");
dateTime = dateTime + getHourDigit();
dateTime = dateTime + getMinuteDigit();
dateTime = dateTime + getSecondDigit();
return dateTime;
}
/**
* <pre>
* Calendar.DAY_OF_MONTH 값을 얻습니다.
* </pre>
* @return Calendar.DAY_OF_MONTH
*/
public int getDayOfMonth() {
return calendar.get(Calendar.DAY_OF_MONTH);
}
/**
* <pre>
* Calendar.DAY_OF_YEAR 값을 얻습니다.
* </pre>
* @return Calendar.DAY_OF_YEAR
*/
public int getDayOfYear() {
return calendar.get(Calendar.DAY_OF_YEAR);
}
/**
* <pre>
* Calendar.WEEK_OF_YEAR 값을 얻습니다.
* </pre>
* @return Calendar.WEEK_OF_YEAR
*/
public int getWeekOfYear() {
return calendar.get(Calendar.WEEK_OF_YEAR);
}
/**
* <pre>
* Calendar.WEEK_OF_MONTH 값을 얻습니다.
* </pre>
* @return Calendar.WEEK_OF_MONTH
*/
public int getWeekOfMonth() {
return calendar.get(Calendar.WEEK_OF_MONTH);
}
/**
* <pre>
* Calendar.DAY_OF_WEEK 값을 얻습니다.
* </pre>
* @return Calendar.DAY_OF_WEEK
*/
public int getDayOfWeek() {
return calendar.get(Calendar.DAY_OF_WEEK);
}
/**
* <pre>
* Calendar.HOUR_OF_DAY 값을 얻습니다.
* </pre>
* @return Calendar.HOUR_OF_DAY
*/
public int getHour() {
return calendar.get(Calendar.HOUR_OF_DAY);
}
/**
* Calendar.HOUR_OF_DAY 값을 얻습니다.
* @return 2자리 Calendar.HOUR_OF_DAY
*/
public String getHourDigit() {
return StringUtils.leftPad(String.valueOf(this.getHour()), 2, "0");
}
/**
* <pre>
* Calendar.MINUTE 값을 얻습니다.
* </pre>
* @return Calendar.MINUTE
*/
public int getMinute() {
return calendar.get(Calendar.MINUTE);
}
/**
* Calendar.MINUTE 값을 얻습니다.
* @return 2자리 Calendar.MINUTE
*/
public String getMinuteDigit() {
return StringUtils.leftPad(String.valueOf(this.getMinute()), 2, "0");
}
/**
* <pre>
* Calendar.SECOND 값을 얻습니다.
* </pre>
* @return Calendar.SECOND
*/
public int getSecond() {
return calendar.get(Calendar.SECOND);
}
/**
* Calendar.SECOND 값을 얻습니다.
* @return 2자리 Calendar.SECOND
*/
public String getSecondDigit() {
return StringUtils.leftPad(String.valueOf(this.getSecond()), 2, "0");
}
/**
* <pre>
* Calendar.ERA 값을 얻습니다.
* </pre>
* @return Calendar.ERA
*/
public int getEra() {
return calendar.get(Calendar.ERA);
}
/**
* <pre>
* Calendar.AM_PM 값을 얻습니다.
* </pre>
* @return Calendar.AM_PM
*/
public int getAMPM() {
return calendar.get(Calendar.AM_PM);
}
/**
* 해당 월의 마지막 날을 구한다.
* @return Calendar.DAY_OF_MONTH
*/
public int getEndDay(){
return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}
/**
* 회계년도를 얻습니다.
* @return 회계년도
*/
public int getAccountYear(){
if (getMonthInt() < 3){
return getYear() - 1;
}else{
return getYear();
}
}
/**
* <pre>
* 회계년도를 얻습니다.
* </pre>
* @param year 년도
* @param month 달
* @return 회계년도
*/
public int getMoneyYear(int year, int month){
if (month < 3){
return year - 1;
}else{
return year;
}
}
/**
* 주어진 월의 마지막 날을 구함.
* @param year 년도
* @param month 달
* @return 마지막 날
*/
public int getAccountDay(String year, String month){
int yer = Integer.parseInt(year);
int mon = Integer.parseInt(month);
if (mon != 2) {
if (mon == 4 || mon == 6 || mon == 9 || mon == 11){
return 30;
}else{
return 31;
}
} else {
int dayNum =0;
// 2월인 경우 윤년 체크
if ((yer%4) != 0) dayNum = 28;
else if ((yer%100) != 0) dayNum = 29;
else if ((yer%400) != 0) dayNum = 28;
else dayNum = 29;
return dayNum;
}
}
/**
* 8자리로 된 날자를 지정된 포맷으로 변환
* @param date
* @return String
*/
public String getStringToDate(String date) {
return getStringToDate(date, "년월일");
}
/**
* 8자리로 된 날자를 지정된 포맷으로 변환
* @param date 변환하기 위한 날자 8자리로 된 날자(yyyyMMdd)
* @param param 지정된 포맷
* @return String
*/
public String getStringToDate(String date, String param) {
if (StringUtils.isEmpty(date) || date.length() != 8) return "";
String format = param;
if (StringUtils.isEmpty(format)) {
format = "년월일";
}
StringBuffer sb = new StringBuffer("");
String year = StringUtils.substring(date, 0, 4);
String month = StringUtils.substring(date, 4, 6);
String day = StringUtils.substring(date, 6, 8);
if (format.length() == 3) {
sb.append(year).append(format.substring(0, 1))
.append(month).append(format.substring(1, 2))
.append(day).append(format.substring(2, 3));
} else {
sb.append(year).append(format).append(month).append(format).append(day);
}
return sb.toString();
}
/**
* 8자리로 된 날자를 지정된 포맷으로 변환(스페이스 구분)
* @param date 변환하기 위한 날자 8자리로 된 날자(yyyyMMdd)
* @param param 지정된 포맷
* @return String
*/
public String getStringToDateSpace(String date) {
if (StringUtils.isEmpty(date) || date.length() != 8) return "";
String rslt = "";
String year = StringUtils.substring(date, 0, 4);
String month = StringUtils.substring(date, 4, 6);
String day = StringUtils.substring(date, 6, 8);
int m = Integer.parseInt(month);
int d = Integer.parseInt(day);
rslt = year +"년 "+ m +"월 "+ d +"일";
return rslt;
}
/**
* 현재 년도를 mode에 따라 <option>문으로 만들어 return
* @param mode year 년도 option 문
* month 월 opiton 문
* day 일 option 문
* @return String
*/
public String getDateOptions(String mode) {
int year = this.getYear();
int month = this.getMonthInt();
int day = this.getDayOfMonth();
int endOfMonth = this.getEndDay();
if (StringUtils.equals(mode, "year")) {
return this.getYearOptions(year);
} else if (StringUtils.equals(mode, "month")) {
return this.getMonthOptions(month);
} else if (StringUtils.equals(mode, "day")) {
return this.getDayOptions(endOfMonth, day);
} else {
return "";
}
}
/**
* 특정 년도를 mode에 따라 <option>문으로 만들어 return
* @param date 특정 날자 : yyyyMMdd 형식 이어야 함
* @param mode year 년도 option 문
* month 월 opiton 문
* day 일 option 문
* @return String
*/
public String getDateOptions (String date, String mode) {
if (date == null || date.length() != 8) return "";
int year = Integer.parseInt(StringUtils.substring(date, 0, 4));
int month = Integer.parseInt(StringUtils.substring(date, 4, 6));
int day = Integer.parseInt(StringUtils.substring(date, 6, 8));
if (StringUtils.equals(mode, "year")) {
return this.getYearOptions(year);
} else if (StringUtils.equals(mode, "month")) {
return this.getMonthOptions(month);
} else if (StringUtils.equals(mode, "day")) {
return this.getDayOptions(year, month, day);
} else {
return "";
}
}
/**
* 현재년도를 <option>문으로 만들어 return
* @return String
*/
public String getYearOptions() {
return this.getYearOptions(0, 3, this.getYear());
}
/**
* 현재년도를 <option>문으로 만들어 return
* @param minValue 현재년도 기준으로 -값, 현재 년도부터 시작일 경우 0 이다
* @param maxValue 현재년도 기준으로 + 값
* @return String
*/
public String getYearOptions(int minValue, int maxValue) {
return this.getYearOptions(minValue, maxValue, this.getYear());
}
/**
* 특정년도를 <option>문으로 만들어 return
* @param year 특정 년도
* @return String
*/
public String getYearOptions(int year) {
return this.getYearOptions(0, 3, year);
}
/**
* 특정년도를 <option>문으로 만들어 return
* @param minValue 특정년도 기준으로 - 값, 현재 년도부터 시작일 경우 0 이다
* @param maxValue 특정년도 기준으로 + 값
* @param selectedYear 선택되는 년도
* @return <options>
*/
public String getYearOptions(int minValue, int maxValue, int pSelectedYear) {
int selectedYear = pSelectedYear;
if (selectedYear == 0) selectedYear = this.getYear();
StringBuffer yearOptions = new StringBuffer("");
int minYear = minValue + this.getYear();
int maxYear = maxValue + this.getYear();
for (int i=minYear; i <= maxYear; i++) {
yearOptions.append("<option value='").append(String.valueOf(i)).append("'");
if (i == selectedYear) {
yearOptions.append(" selected='selected'");
}
yearOptions.append(">").append(String.valueOf(i)).append(" 년").append("</option>");
yearOptions.append("\n");
}
return yearOptions.toString();
}
/**
* 현재 월을 <option>문으로 만들어 return
* @return String
*/
public String getMonthOptions() {
return getMonthOptions(this.getMonthInt());
}
/**
* 특정 월을 <option>문으로 만들어 return
* @param selectedMonth 선택되는 월
* @return String
*/
public String getMonthOptions(int pSelectedMonth) {
int selectedMonth = pSelectedMonth;
if (selectedMonth == 0) selectedMonth = this.getMonthInt();
StringBuffer monthOptions = new StringBuffer("");
for (int i=1; i <= 12; i++) {
monthOptions.append("<option value='").append(StringUtils.leftPad(String.valueOf(i), 2, "0")).append("'");
if (i == selectedMonth) {
monthOptions.append(" selected='selected'");
}
monthOptions.append(">").append(StringUtils.leftPad(String.valueOf(i), 2, "0")).append("</option>");
monthOptions.append("\n");
}
return monthOptions.toString();
}
/**
* 현재 격주를 <option>문으로 만들어 return
* @return String
*/
public String getFortnightOptions() {
int selectedWeek = this.getFortnightInt();
StringBuffer weekOptions = new StringBuffer("");
for (int i=1; i<3; i++) {
weekOptions.append("<option value='").append(String.valueOf(i)).append("'");
if (i == selectedWeek) {
weekOptions.append(" selected='selected'");
}
weekOptions.append(">").append(String.valueOf(i)).append("</option>");
weekOptions.append("\n");
}
return weekOptions.toString();
}
/**
* 현재 4주를 <option>문으로 만들어 return
* @return String
*/
public String getWeekendOptions() {
int selectedWeek = 1; //this.getFortnightInt();
StringBuffer weekOptions = new StringBuffer("");
for (int i=1; i<5; i++) {
weekOptions.append("<option value='").append(String.valueOf(i)).append("'");
if (i == selectedWeek) {
weekOptions.append(" selected='selected'");
}
weekOptions.append(">").append(String.valueOf(i)).append("</option>");
weekOptions.append("\n");
}
return weekOptions.toString();
}
/**
* 현재 일을 <option>문으로 만들어 return
* @param selectedDay 선택되는 일
* @return String
*/
public String getDayOptions(int selectedDay) {
int endOfMonth = this.getEndDay();
return getDayOptions(endOfMonth, selectedDay);
}
/**
* 특정 일을 <option>문으로 만들어 return
* @param year 특정일이 속한 년도
* @param month 특정일이 속한 월
* @param selectedDay 선택되는 일
* @return String
*/
public String getDayOptions(int pYear, int pMonth, int pSelectedDay) {
int year=pYear;
int month=pMonth;
int selectedDay = pSelectedDay;
if (year == 0) year = this.getYear();
if (month == 0) month = this.getMonthInt();
if (selectedDay == 0) selectedDay = this.getDayOfMonth();
// 해당월의 마지막일
int endOfMonth = this.getAccountDay(String.valueOf(year), String.valueOf(month));
return getDayOptions(endOfMonth, selectedDay);
}
/**
* 특정 일을 <option>문으로 만들어 return
* @param endOfMonth 특정일이 속한 마지막 일
* @param selectedDay 선택되는 일
* @return String
*/
public String getDayOptions(int endOfMonth, int pSelectedDay) {
int selectedDay = pSelectedDay;
if (selectedDay == 0) selectedDay = this.getDayOfMonth();
StringBuffer dayOptions = new StringBuffer("");
for (int i=1; i <= endOfMonth; i++) {
dayOptions.append("<option value='").append(StringUtils.leftPad(String.valueOf(i), 2, "0")).append("'");
if (i == selectedDay) {
dayOptions.append(" selected='selected'");
}
dayOptions.append(">").append(StringUtils.leftPad(String.valueOf(i), 2, "0")).append("</option>");
dayOptions.append("\n");
}
return dayOptions.toString();
}
/**
* 월을 2자리 String으로 만들어 return
* @return 2자리 월
*/
public String getMonthString() {
return StringUtils.leftPad(String.valueOf(this.getMonthInt()), 2, "0");
}
/**
* 일을 2자리 String으로 만들어 return
* @return 2자리 일
*/
public String getDayString() {
return StringUtils.leftPad(String.valueOf(this.getDayOfMonth()), 2, "0");
}
/**
* 날자를 8자리 String 검색조건으로 만들어 return
* @param locale 언어
* @param date 날짜
* @param separator 구분자
* @return 8자리 날자
*/
public String getSearchDate(String locale, String pDate, String separator) {
String date = pDate;
String rslt = "";
date = StringUtil.stringCheck(date);
if(!date.equals("")){
String[] arr = date.split(separator);
if(locale.equals("en_US")){
rslt = arr[2] + arr[1] + arr[0];
}else if(locale.equals("fr_MA")){
rslt = arr[2] + arr[1] + arr[0];
}else{
rslt = arr[0] + arr[1] + arr[2];
}
}
return rslt;
}
/**
* 날자를 8자리 String 으로 만들어 return
* @param separator 구분자
* @return 8자리 날자
*/
public String getDateOct(String separator) {
return this.getYear() + separator + this.getMonthString() + separator + this.getDayString();
}
/**
* 날자를 8자리 String 으로 만들어 return
* @param separator 구분자
* @return 8자리 날자
*/
public String getFrDateOct(String separator) {
return this.getDayString() + separator + this.getMonthString() + separator + this.getYear();
}
/**
* 날자를 8자리 String 으로 만들어 return
* @param locale 언어
* @param separator 구분자
* @return 8자리 날자
*/
public String getDateOct(String locale, String separator) {
String rslt = "";
if(locale.equals("ko_KR")){
rslt = this.getYear() +separator+ this.getMonthString() +separator+ this.getDayString();
}else{
rslt = this.getDayString() +separator+ this.getMonthString() +separator+ this.getYear();
}
return rslt;
}
/**
* 날자를 8자리 String 으로 만들어 return
* @param separator 구분자
* @param i 특정월
* @return 8자리 날자
*/
public String getDateOct(String separator, int i) {
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, i);
setDate(calendar);
return this.getYear() + separator + this.getMonthString() + separator + this.getDayString();
}
/**
* 날자를 8자리 String 으로 만들어 return
* @param locale 언어
* @param separator 구분자
* @param i 특정월
* @return 8자리 날자
*/
public String getDateOct(String locale, String separator, int i) {
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, i);
setDate(calendar);
String rslt = "";
if(locale.equals("en_US")){
rslt = this.getDayString() +separator+ this.getMonthString() +separator+ this.getYear();
}else if(locale.equals("fr_MA")){
rslt = this.getDayString() +separator+ this.getMonthString() +separator+ this.getYear();
}else{
rslt = this.getYear() +separator+ this.getMonthString() +separator+ this.getDayString();
}
return rslt;
}
public String compareDate(String sDate, String eDate, String separate){
String result = "Y";
String currentDate = getDate(); //오늘 날짜 2008-01-01 2008/01/01
String [] sArr = StringUtils.split(sDate,separate); // 시작날짜 배열 "-"
String [] eArr = StringUtils.split(eDate,separate); // 종료일자 배열
String [] cArr = StringUtils.split(currentDate,separate); //현재날짜 배열
for(int i=0; i< sArr.length; i++) {
if(Integer.parseInt(sArr[0]) > Integer.parseInt(cArr[0])) {
result = "N";
break;
}
if(Integer.parseInt(sArr[1]) > Integer.parseInt(cArr[1])) {
result = "N";
break;
}
if(Integer.parseInt(sArr[2]) > Integer.parseInt(cArr[2])) {
result = "N";
break;
}
}
for(int i=0; i< eArr.length; i++) {
if(Integer.parseInt(eArr[0]) < Integer.parseInt(cArr[0])) {
result = "N";
break;
}
if(Integer.parseInt(eArr[1]) < Integer.parseInt(cArr[1])) {
result = "N";
break;
}
if(Integer.parseInt(eArr[2]) < Integer.parseInt(cArr[2])) {
result = "N";
break;
}
}
return result;
}
/**
* <pre>
* 순기를 얻습니다.
* </pre>
* @return 순기
*/
public int getTenDays() {
return (calendar.get(Calendar.DATE) / 10) + 1;
}
/**
* <pre>
* 순기를 얻습니다.
* </pre>
* @return 순기
*/
public String getTenDaysString() {
return String.valueOf((calendar.get(Calendar.DATE) / 10) + 1);
}
/**
* <pre>
* 순기를 얻습니다.
* </pre>
* @return 순기
*/
public String getTenDaysText() {
String tenDaysText = "";
int tenDays = (calendar.get(Calendar.DATE) / 10) + 1;
switch(tenDays){
case 1:
tenDaysText = "1/3";
break;
case 2:
tenDaysText = "2/3";
break;
case 3:
tenDaysText = "3/3";
break;
default:
tenDaysText = "";
break;
}
return tenDaysText;
}
/**
* <pre>
* 격월를 얻습니다.
* </pre>
* @return 격월
*/
public int getBimonthly() {
return (calendar.get(Calendar.MONTH) / 2) + 1;
}
/**
* <pre>
* 격월를 얻습니다.
* </pre>
* @return 격월
*/
public String getBimonthlyString() {
return String.valueOf((calendar.get(Calendar.MONTH) / 2) + 1);
}
/**
* <pre>
* 격월를 얻습니다.
* </pre>
* @return 격월
*/
public String getBimonthlyText() {
String bimonthlyText = "";
int bimonthly = (calendar.get(Calendar.MONTH) / 2) + 1;
switch(bimonthly){
case 1:
bimonthlyText = "1/6";
break;
case 2:
bimonthlyText = "2/6";
break;
case 3:
bimonthlyText = "3/6";
break;
case 4:
bimonthlyText = "4/6";
break;
case 5:
bimonthlyText = "5/6";
break;
case 6:
bimonthlyText = "6/6";
break;
default:
bimonthlyText = "";
break;
}
return bimonthlyText;
}
/**
* <pre>
* 분기를 얻습니다.
* </pre>
* @return 분기
*/
public int getQuarter() {
return (calendar.get(Calendar.MONTH) / 3) + 1;
}
/**
* <pre>
* 분기를 얻습니다.
* </pre>
* @return 분기
*/
public String getQuarterString() {
return String.valueOf((calendar.get(Calendar.MONTH) / 3) + 1);
}
/**
* <pre>
* 분기를 얻습니다.
* </pre>
* @return 분기
*/
public String getQuarterText() {
String quarterText = "";
int quarter = (calendar.get(Calendar.MONTH) / 3) + 1;
switch(quarter){
case 1:
quarterText = "1/4";
break;
case 2:
quarterText = "2/4";
break;
case 3:
quarterText = "3/4";
break;
case 4:
quarterText = "4/4";
break;
default:
quarterText = "";
break;
}
return quarterText;
}
/**
* <pre>
* 반기를 얻습니다.
* </pre>
* @return 반기
*/
public int getHalf() {
return (calendar.get(Calendar.MONTH) / 6) + 1;
}
/**
* <pre>
* 반기를 얻습니다.
* </pre>
* @return 반기
*/
public String getHalfString() {
return String.valueOf((calendar.get(Calendar.MONTH) / 6) + 1);
}
/**
* <pre>
* 반기를 얻습니다.
* </pre>
* @return 반기
*/
public String getHalfText() {
String halfText = "";
int half = (calendar.get(Calendar.MONTH) / 6) + 1;
switch(half){
case 1:
halfText = "1/2";
break;
case 2:
halfText = "2/2";
break;
default:
halfText = "";
break;
}
return halfText;
}
/**
* <pre>
* 월 목록을 얻습니다.
* </pre>
* @return 월 목록
*/
public List getMonthList() {
List list = new ArrayList();
String str = "";
for(int i=1; i<13; i++){
if(i<10) str = "0" + i;
else str = "" + i;
list.add(str);
}
return list;
}
/**
* d 가 a b 사이에 있는 날짜이면 true 아니면 false
* @param d
* @param a
* @param b
* @return
*/
public static boolean isBetweenDate(Date d, Date a, Date b) {
if( d.compareTo(a) >= 0 && d.compareTo(b) <=0 ) {
return true;
}else {
return false;
}
}
}
728x90