아래 소스 코드는 날짜와 시간을 다양한 형식으로 포맷하고 조작하고 있습니다.
소스코드
상수
LONG_DATE_STR, LONG_DATE_STR_FILE, SHORT_DATE_STR, MIN_SHORT_DATE_STR : 날짜 포맷을 정의하는 상수들입니다.
DEFAULT_DATETIME_FORMAT, DEFAULT_DATETIME_FORMAT_FILE, MIN_DATE_FORMAT, DEFAULT_DATE_FORMAT, DEFAULT_SHORT_DATE_FORMAT : SimpleDateFormat 객체를 사용하여 각각의 날짜 포맷을 처리하기 위한 상수들입니다.
MILLI_SEC_A_DAY : 하루를 밀리초로 나타낸 상수입니다.
메서드
getCurrentDatetime(): 현재 날짜와 시간을 기본 포맷으로 가져오는 메서드입니다.
getCurrentDatetimeFile(): 현재 날짜와 시간을 파일명 용도의 포맷으로 가져오는 메서드입니다.
getCurrentDate(): 현재 날짜를 기본 날짜 포맷으로 가져오는 메서드입니다.
getCurrentDate2(): 현재 날짜를 짧은 날짜 포맷으로 가져오는 메서드입니다.
getCurrentDateYYYY(): 현재 연도만 가져오는 메서드입니다.
getCurrentDate(int i): 현재 날짜로부터 지정한 일 수 이후의 날짜를 기본 날짜 포맷으로 가져오는 메서드입니다.
getCurrentDate(String format): 사용자 정의 포맷으로 현재 날짜를 가져오는 메서드입니다.
메서드 호출을 통해 결과를 확인하시고 응용해서 사용하시면 됩니다.
import java.text.SimpleDateFormat;
import java.util.Date;
public class TT {
public static final String LONG_DATE_STR = "yyyy-MM-dd HH:mm:ss";
public static final String LONG_DATE_STR_FILE = "yyyyMMddHHmmss";
public static final String SHORT_DATE_STR = "yyyy-MM-dd";
public static final String MIN_SHORT_DATE_STR = "yyyyMMdd";
public static final SimpleDateFormat DEFAULT_DATETIME_FORMAT = new SimpleDateFormat(LONG_DATE_STR);
public static final SimpleDateFormat DEFAULT_DATETIME_FORMAT_FILE = new SimpleDateFormat(LONG_DATE_STR_FILE);
public static final SimpleDateFormat MIN_DATE_FORMAT = new SimpleDateFormat("yyyyMMdd");
public static final SimpleDateFormat DEFAULT_DATE_FORMAT = new SimpleDateFormat(SHORT_DATE_STR);
public static final SimpleDateFormat DEFAULT_SHORT_DATE_FORMAT = new SimpleDateFormat(MIN_SHORT_DATE_STR);
public static final int MILLI_SEC_A_DAY = 1000 * 60 * 60 * 24;
public static String getCurrentDatetime() {
return DEFAULT_DATETIME_FORMAT.format(new Date());
}
public static String getCurrentDatetimeFile() {
return DEFAULT_DATETIME_FORMAT_FILE.format(new Date());
}
public static String getCurrentDate() {
return DEFAULT_DATE_FORMAT.format(new Date());
}
public static String getCurrentDate2() {
return DEFAULT_SHORT_DATE_FORMAT.format(new Date());
}
public static String getCurrentDateYYYY() {
return DEFAULT_DATE_FORMAT.format(new Date()).substring(0, 4);
}
public static String getCurrentDate(int i) {
long now = System.currentTimeMillis();
now += (i * MILLI_SEC_A_DAY);
return DEFAULT_DATE_FORMAT.format(new Date(now));
}
public static String getCurrentDate(String format) {
SimpleDateFormat dateFormat = new SimpleDateFormat(format);
long now = System.currentTimeMillis();
return dateFormat.format(new Date(now));
}
public static void main(String[] args) throws Exception {
// 현재 날짜와 시간을 기본 포맷으로 가져오기
String currentDatetime = TT.getCurrentDatetime();
System.out.println("Current Datetime: " + currentDatetime);
// 현재 날짜와 시간을 파일명용 포맷으로 가져오기
String currentDatetimeFile = TT.getCurrentDatetimeFile();
System.out.println("Current Datetime (File): " + currentDatetimeFile);
// 현재 날짜를 기본 날짜 포맷으로 가져오기
String currentDate = TT.getCurrentDate();
System.out.println("Current Date: " + currentDate);
// 현재 날짜를 짧은 날짜 포맷으로 가져오기
String currentDate2 = TT.getCurrentDate2();
System.out.println("Current Short Date: " + currentDate2);
// 현재 연도만 가져오기
String currentYear = TT.getCurrentDateYYYY();
System.out.println("Current Year: " + currentYear);
// 현재 날짜로부터 지정한 일 수 이후의 날짜 가져오기
int daysToAdd = 5;
String futureDate = TT.getCurrentDate(daysToAdd);
System.out.println("Future Date (+" + daysToAdd + " days): " + futureDate);
// 사용자 정의 포맷으로 현재 날짜 가져오기
String customFormat = "yyyy/MM/dd";
String customFormattedDate = TT.getCurrentDate(customFormat);
System.out.println("Custom Formatted Date: " + customFormattedDate);
}
}
'개발이야기 > Java' 카테고리의 다른 글
[Java] 문자열 체크하기 (null, 중복, 숫자, 태그) (0) | 2023.08.11 |
---|---|
[Java] 날짜 차이 계산하기 (일수 차이, 년도/월, 마지막 날짜) (0) | 2023.08.10 |
[Java] 소수점 원하는 자리수 만큼 반올림 하여 출력하기 (Math 클래스) (0) | 2023.08.08 |
[Java] XSS (크로스 사이트 스크립팅), SQL Injection 필터링 하기 (0) | 2023.08.08 |
[Java] 랜덤 문자열 생성하기 (특수문자 포함, 대문자만, 소문자만, 숫자만, 소문자/숫자) (0) | 2023.08.07 |
댓글