Java 에서 Date 함수를 다양한 예제를 모아서 만든 DateUtils 을 가져가서 사용하세요.
Java에서 날짜와 시간을 다루는 것은 흔히 필요한 작업 중 하나입니다.
이번 포스팅에서는 다양한 날짜 관련 작업을 수행할 수 있는 DateUtils
클래스를 소개하겠습니다.
이 클래스는 날짜 형식 변환, 날짜 비교, 날짜 계산 등 여러 유용한 기능을 제공합니다.
DateUtils 클래스 소개
DateUtils
클래스는 java.util.Date
와 java.text.SimpleDateFormat
을 사용하여 날짜와 시간을 다루는 다양한 함수를 포함하고 있습니다. 아래는 DateUtils
클래스의 전체 코드입니다.
import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Calendar;
public class DateUtils {
// 현재 날짜와 시간을 반환하는 함수
public static String getCurrentDateTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(new Date());
}
// 특정 형식의 날짜 문자열을 Date 객체로 변환하는 함수
public static Date parseDate(String dateStr, String format) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.parse(dateStr);
}
// Date 객체를 특정 형식의 문자열로 변환하는 함수
public static String formatDate(Date date, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}
// 두 날짜 사이의 일 수를 계산하는 함수
public static long daysBetween(Date startDate, Date endDate) {
long diff = endDate.getTime() - startDate.getTime();
return diff / (1000 * 60 * 60 * 24);
}
// 날짜에 특정 일 수를 더하는 함수
public static Date addDays(Date date, int days) {
long newTime = date.getTime() + (days * 1000L * 60 * 60 * 24);
return new Date(newTime);
}
// 두 날짜를 비교하는 함수
public static int compareDates(Date date1, Date date2) {
return date1.compareTo(date2);
}
// 두 날짜 사이의 시간 차이를 계산하는 함수 (밀리초 단위)
public static long timeDifference(Date startDate, Date endDate) {
return endDate.getTime() - startDate.getTime();
}
// 특정 날짜의 요일을 반환하는 함수
public static String getDayOfWeek(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
return sdf.format(date);
}
// 날짜 형식이 유효한지 검증하는 함수
public static boolean isValidDateFormat(String dateStr, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.setLenient(false);
try {
sdf.parse(dateStr);
return true;
} catch (ParseException e) {
return false;
}
}
// 오늘 날짜를 특정 포맷 문자열로 반환하는 함수
public static String getTodayDate(String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(new Date());
}
public static void main(String[] args) {
try {
// 현재 날짜와 시간 출력
System.out.println("Current DateTime: " + getCurrentDateTime());
// 문자열을 Date 객체로 변환
String dateStr = "2025-03-05";
Date date = parseDate(dateStr, "yyyy-MM-dd");
System.out.println("Parsed Date: " + date);
// Date 객체를 문자열로 변환
String formattedDate = formatDate(date, "dd/MM/yyyy");
System.out.println("Formatted Date: " + formattedDate);
// 두 날짜 사이의 일 수 계산
Date startDate = parseDate("2025-03-01", "yyyy-MM-dd");
Date endDate = parseDate("2025-03-05", "yyyy-MM-dd");
long daysBetween = daysBetween(startDate, endDate);
System.out.println("Days Between: " + daysBetween);
// 날짜에 일 수 더하기
Date newDate = addDays(date, 10);
System.out.println("Date After Adding Days: " + newDate);
// 두 날짜 비교
int comparison = compareDates(startDate, endDate);
System.out.println("Date Comparison: " + (comparison < 0 ? "startDate is before endDate" : (comparison > 0 ? "startDate is after endDate" : "startDate is equal to endDate")));
// 두 날짜 사이의 시간 차이 계산
long timeDiff = timeDifference(startDate, endDate);
System.out.println("Time Difference (ms): " + timeDiff);
// 특정 날짜의 요일 구하기
String dayOfWeek = getDayOfWeek(date);
System.out.println("Day of Week: " + dayOfWeek);
// 날짜 형식 검증
boolean isValid = isValidDateFormat(dateStr, "yyyy-MM-dd");
System.out.println("Is Valid Date Format: " + isValid);
// 오늘 날짜를 특정 포맷 문자열로 반환
String todayDate = getTodayDate("yyyy/MM/dd");
System.out.println("Today's Date: " + todayDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
주요 함수 설명
1. 현재 날짜와 시간 반환
getCurrentDateTime
함수는 현재 날짜와 시간을 “yyyy-MM-dd HH:mm:ss” 형식으로 반환합니다.
2. 문자열을 Date 객체로 변환
parseDate
함수는 특정 형식의 날짜 문자열을 Date
객체로 변환합니다.
3. Date 객체를 문자열로 변환
formatDate
함수는 Date
객체를 특정 형식의 문자열로 변환합니다.
4. 두 날짜 사이의 일 수 계산
daysBetween
함수는 두 날짜 사이의 일 수를 계산합니다.
5. 날짜에 특정 일 수 더하기
addDays
함수는 날짜에 특정 일 수를 더한 새로운 Date
객체를 반환합니다.
6. 두 날짜 비교
compareDates
함수는 두 날짜를 비교하여 결과를 반환합니다.
7. 두 날짜 사이의 시간 차이 계산
timeDifference
함수는 두 날짜 사이의 시간 차이를 밀리초 단위로 계산합니다.
8. 특정 날짜의 요일 반환
getDayOfWeek
함수는 특정 날짜의 요일을 반환합니다.
9. 날짜 형식 검증
isValidDateFormat
함수는 날짜 문자열이 특정 형식에 맞는지 검증합니다.
10. 오늘 날짜 반환
getTodayDate
함수는 오늘 날짜를 특정 포맷 문자열로 반환합니다.
결론
DateUtils
클래스는 Java에서 날짜와 시간을 다루는 데 매우 유용한 도구입니다. 이 클래스를 사용하면 다양한 날짜 관련 작업을 쉽게 수행할 수 있습니다. 여러분도 이 클래스를 활용하여 더욱 효율적인 프로그램을 개발해보세요!
DateUtils 파일로 받기
2025년 국내 IT 컨퍼런스 및 해외 IT 컨퍼런스 AI 행사 세미나 일정 총정리!
이 포스팅이 도움이 되셨길 바랍니다. 추가적인 질문이나 다른 주제에 대한 포스팅 요청이 있으시면 언제든지 댓글로 남겨주세요! 😊