728x90
반응형
** 참고 **
|
** 일반적으로 많이 사용되는 패턴들 **
Format Pattern | Result |
---|---|
"yyyy.MM.dd G 'at' hh:mm:ss z" | 1996.07.10 AD at 15:08:56 PDT |
"EEE, MMM d, ''yy" | Wed, July 10, '96 |
"h:mm a" | 12:08 PM |
"hh 'o''clock' a, zzzz" | 12 o'clock PM, Pacific Daylight Time |
"K:mm a, z" | 0:00 PM, PST |
"yyyyy.MMMMM.dd GGG hh:mm aaa" | 1996.July.10 AD 12:08 PM |
===================================================================================
자바에서는 날짜나 시간을 핸들링 하기 위해 Date라는 훌륭한 클래스를 제공하고 있지만 클라이언트가 서버와 통신할떄 XML/JSON등을 이용한다거나 하면 아무래도 해당 데이터형을 그대로 유지하기가 힘듭니다.
마치 모뎀 시절의 암호화/복호화가 필요하듯이 객체들을 시리얼라이징해서 문자열로 만들어내고 클라이언트에서는 데이터를 받아서 파싱이라는 과정을 거쳐 다시 사용가능한 형태의 데이터로 변환을 해야 합니다.
이때에 넘겨받은 문자열형태의 날짜 혹은 시간을 어떻게 변환할수 있을지 생각하여 만들어본 간단한 메서드입니다.
/**
* <pre>
* 문자열 형태의 날짜를 원하는 형태로 변환합니다.
*
* 예시)
* "yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
* "EEE, MMM d, ''yy" Wed, Jul 4, '01
* "h:mm a" 12:08 PM
* "hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
* "K:mm a, z" 0:08 PM, PDT
* "yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
* "EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
* "yyMMddHHmmssZ" 010704120856-0700
* "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
* </pre>
*
* @param date 변환할 날짜
* @param fromFormatString 변환될 포맷
* @param toFormatString 변환할 포맷
* @return 변환된 날짜 문자열
*/
public static String formattedDate
(String date, String fromFormatString, String toFormatString)
{
SimpleDateFormat fromFormat =
new SimpleDateFormat(fromFormatString);
SimpleDateFormat toFormat =
new SimpleDateFormat(toFormatString);
Date fromDate = null;
try
{
fromDate = fromFormat.parse(date);
}
catch(ParseException e)
{
fromDate = new Date();
}
return toFormat.format(fromDate);
}
/**
* <pre>
* 날짜를 원하는 형태의 문자열로 반환합니다.
* </pre>
*
* @param date 변환할 Date 인스턴스
* @param format 변환할 포맷
* @return 변환된 날짜 문자열
*/
public static String formattedDate(Date date, String format)
{
SimpleDateFormat toFormat = new SimpleDateFormat(format);
return toFormat.format(date);
}
이제 사용해 봅시다. 다음과 같이 간단하게 출력하고자 하는 형태로 변환하여 사용하시면 됩니다.
formattedDate("2010-12-25", "yyyy-MM-dd", "yyMMdd");
formattedDate(new Date(), "yyyy-MM-dd");
출처 - http://theeye.pe.kr/entry/simple-method-of-translating-date-string-on-java
===================================================================================
/**
* 전화번호 포맷 설정
* @param phoneNo
* @return
*/
public static String phoneFormat(String phoneNo){
if (phoneNo.length() == 0){
return phoneNo;
}
String strTel = phoneNo;
String[] strDDD = {"02" , "031", "032", "033", "041", "042", "043",
"051", "052", "053", "054", "055", "061", "062",
"063", "064", "010", "011", "012", "013", "015",
"016", "017", "018", "019". "070"};
if (strTel.length() < 9) {
return strTel;
} else if (strTel.substring(0,2).equals(strDDD[0])) {
strTel = strTel.substring(0,2) + '-' + strTel.substring(2, strTel.length()-4)
+ '-' + strTel.substring(strTel.length() -4, strTel.length());
} else {
for(int i=1; i < strDDD.length; i++) {
if (strTel.substring(0,3).equals(strDDD[i])) {
strTel = strTel.substring(0,3) + '-' + strTel.substring(3, strTel.length()-4)
+ '-' + strTel.substring(strTel.length() -4, strTel.length());
}
}
}
return strTel;
}
* 전화번호 포맷 설정
* @param phoneNo
* @return
*/
public static String phoneFormat(String phoneNo){
if (phoneNo.length() == 0){
return phoneNo;
}
String strTel = phoneNo;
String[] strDDD = {"02" , "031", "032", "033", "041", "042", "043",
"051", "052", "053", "054", "055", "061", "062",
"063", "064", "010", "011", "012", "013", "015",
"016", "017", "018", "019". "070"};
if (strTel.length() < 9) {
return strTel;
} else if (strTel.substring(0,2).equals(strDDD[0])) {
strTel = strTel.substring(0,2) + '-' + strTel.substring(2, strTel.length()-4)
+ '-' + strTel.substring(strTel.length() -4, strTel.length());
} else {
for(int i=1; i < strDDD.length; i++) {
if (strTel.substring(0,3).equals(strDDD[i])) {
strTel = strTel.substring(0,3) + '-' + strTel.substring(3, strTel.length()-4)
+ '-' + strTel.substring(strTel.length() -4, strTel.length());
}
}
}
return strTel;
}
728x90
반응형
'JAVA > 소스코드' 카테고리의 다른 글
Java try ~ catch ~ finally 추가 ( multi catch ) (0) | 2017.10.26 |
---|---|
[JAVA] URLConnection 사용해서 POST 방식으로 전송하기/StringBuilder/BufferedWriter/InputStream/BufferedReader/InputStreamReader 사용 (0) | 2015.12.02 |
[Java] 암호화를 위한 MessageDigest 클래스, Java로 MD5, SHA-256 암호화 (1) | 2015.11.18 |
[JAVA] 8. 조건문 Switch ~ Case (0) | 2015.11.12 |
double 형 소수점 2쩨 자리까지만 자르는법 질문합니다.(java.jsp) (0) | 2015.10.22 |
[Java] DecimalFormat, NumberFormat 숫자 포맷 (0) | 2015.10.22 |
[Java] 숫자 금액표시(세자리 콤마) 및 소수점 포맷 (0) | 2015.10.22 |
Java 실수형 데이터 소수점 자르기(DecimalFormat) (0) | 2015.10.22 |