RadarURL

응용 프로그래밍
2007.06.24 23:35

java 에서 날짜데이터를 문자형로 변환

조회 수 8507 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

import java.util.*;
public class time1 {


 public String time()
 {
  int year, mon, dat, mi, ho, se;
 
 
   Calendar ti = Calendar.getInstance();
   //get()메소드는 리턴형이 int형이다.
   year = ti.get(Calendar.YEAR); 
   mon = ti.get(Calendar.MONTH)+1;
   ho = ti.get(Calendar.HOUR_OF_DAY);
   mi = ti.get(Calendar.MINUTE);
   se = ti.get(Calendar.SECOND);
 //int 형을 String 형으로 변환하려면 String의 valueOf()라는 메소드를 사용하면된다.
 
 /*static String valueOf(int i)
     * Returns the string representation of the int argument.
 */
//첫번째 방법은 valueOf()메소드를 사용하여 정수형을 String형으로 변환하는것이다. 


String date = String.valueOf(year)+""+String.valueOf(mon)+""+String.valueOf(ho)+""+String.valueOf(mi)+""+String.valueOf(se);


//두번째 방법은 더 간단합니다. 문자열과 int형의 결합은 문자열로 출력됩니다.
 String date1 = ""+year+""+mon+""+ho+""+mi+""+se;
 
 return date;
 //return date1; 이것도 같은결과를 리턴합니다.


 }


  public static void main(String args[]) {


 time1 t = new time1();


 System.out.println(t.time());
  }
}


top




re: java 에서 날짜데이터를 문자형로 변환이 가능 한가요?


free0829 (2007-05-09 18:19 작성)1대1 질문하기


신고신고|이의제기이의제기



질문자 평
추후 확장까지 ^^ 친절하시게 설명해 주시다니 이자료를 보고 다른 것 까지 입력오류를 체크 할 수 있게 되었습니다. 감사합니다.



import java.util.Calendar;
public class A {
    public String time() {
        int year, mon, dat, mi, ho, se;


        Calendar ti = Calendar.getInstance();


        year = ti.get(Calendar.YEAR);


        // Calendar.MONTH 에서 1을 더해주는 이유는
        // Calendar.MONTH를 하면 1월이면 0을 돌려주고 2월이면 1을 돌려주게 됩니다.
        // 그러므로 돌려주는 값에 1을 더해주어야 현재 달을 알 수 있습니다.
        mon = ti.get(Calendar.MONTH)+1;


        ho = ti.get(Calendar.HOUR_OF_DAY);
        mi = ti.get(Calendar.MINUTE);
        se = ti.get(Calendar.SECOND);


        // 년도는 앞자리가 0 일 경우가 없기 때문에 그냥 문자열로 변환해 줍니다.
        String sYear = String.valueOf(year);


        // 월 또는 일 은 1 ~ 9 월달은 한자리수로 나오기 때문에 2자리의 문자열로 만들어 줍니다.
        String sMonth = addZero(mon, 2);


        return sYear + sMonth;
    }


 


    // 입력받은 int 형을 문자열로 바꾸고 입력받은 자리수만큼 "0"을 붙여서 리턴해 줍니다.
    public String addZero(int val, int size) {
        String str = String.valueOf(val);       // int 형 값을 문자열로 변환합니다.
        int istrSize = 0;                       // 변환된 문자열의 길이를 담을 변수 입니다.
        StringBuffer sb = new StringBuffer();   // 앞에 붙일 문자열 0 들을 넣을 StringBuffer 입니다.
        istrSize = str.getBytes().length;       // 문자열의 길이를 구합니다.
        if(size < istrSize) {                   // 맟출려는 자리수보다 문자열의 길이가 더 크면 에러를 출력합니다.
            System.out.println("맞추고자 하는 길이보다 변환한 문자열의 길이가 더 커요~");
            return "Error";
        }
        // size는 내가 맞추고자할 길이이고 istrSize는 현재 문자열의 길이 이므로
        // 맞추고자할 길이에서 문자열 길이를 뺀 만큼 앞에다 붙일 문자열 "0" 을 만듭니다.
        for(int i=0; i<(size-istrSize); i++) {
            sb.append("0");         // "0" 을 하나 붙입니다.
        }
        str = sb.toString() + str;  // 만들어진 문자열 "0..."과 int형을 변환한 문자열을 합쳐서 리턴합니다.
        return str;
    }


 


    public static void main(String args[]) {
        A t = new A();
        System.out.println(t.time());
    }
}


 


 


int 형을 String 형으로 변환하는것은 앞에 분들의 말씀처럼


String 클래스에 valueOf() 라는 메소드가 있습니다.


사용하실때는 그냥


String.valueOf(변환할int형 또는 숫자);


이렇게 하시면 됩니다.


 


그리고 날짜의 년도는 문제가 안되지만 월 이나 일 같은 경우는


한자리수가 나올 수 있기때문에 앞에 0을 채워 2자리로 만들어 주어야 합니다.


아마 이부분 때문에 고생하시는듯 한데요.


그건 위 소스처럼 메소드를 따로 만들어서 사용하시면 됩니다.


 


그리고 월에 1을 더하는 이유는 위 소스에 주석을 참고 하시면 될것 같구요.


 


리턴하실때는 무조건 하나만 리턴할 수 있습니다.


그러므로 위 소스 처럼 하나로 합쳐주셔서 넘기시거나


아니면 배열에 넣어서..또는 ArrayList 클래스, Vector 클래스 등등을 사용하는 방법..


여러가지가 있습니다.


 


 


 


 


top




2번 문제와 추가 질문은 저도 잘 모르겠네요...


zxcv16384 (2007-05-09 15:15 작성)1대1 질문하기


신고신고|이의제기이의제기





import java.util.Calendar;  // Calendar을 사용하기 위해 import함.


public class time1
{
 Calendar ti = Calendar.getInstance();
 
 int year, mon, dat, mi, ho, se;   
 String strCalendar;     // 정수로 받은 날짜 값들을 담아두기 위해 선언한 문자열 변수
 
 public time1()
 {
  this.getCalendar3();   // 생성자에서 getCalendar3() 메소드를 호출해야만 실행됨...
          // 왜 그러냐고 물어보신다면... 저도 초보라 모름...
 }
 
 public String getCalendar1()  // 질문자 님은 int형으로 하셨지만 전 String형으로 고침
 {
     year = ti.get(Calendar.YEAR);
     mon = ti.get(Calendar.MONTH)+1;  // 질문자 님이 추가 질문으로 물어보신건데 이건 JAVA API를
              // 보시기 바랍니다...
              // 그리고 인터넷에서 찾다보면 알 수 있을지도...
     ho = ti.get(Calendar.HOUR_OF_DAY);
     mi = ti.get(Calendar.MINUTE);
     se = ti.get(Calendar.SECOND);
    
     /*
      * 여기서 String.valueOf() 메소드는 질문자 님이 물어보던 정수형을 문자형으로 바꿔주는
      * 메소드 입니다.
      */
     strCalendar = String.valueOf(year) + String.valueOf(mon) + String.valueOf(ho)
          + String.valueOf(mi) + String.valueOf(se);
    
     // 숫자끼리 더하기를 하면 받아온 값들이 다 더하기 때문에 문자열로 바꾸어서 리턴 시킴.
     return strCalendar;
 }
 
 public String getCalendar2()  
 {
     year = ti.get(Calendar.YEAR);
     mon = ti.get(Calendar.MONTH)+1;
     ho = ti.get(Calendar.HOUR_OF_DAY);
     mi = ti.get(Calendar.MINUTE);
     se = ti.get(Calendar.SECOND);
    
     /*
      * getCalendar1() 메소드와 차이점은 숫자들 사이에 ""와 +기호를 사용하여
      * 정수가 문자열로 바뀌어지기 때문에 String형으로 받으면 됨...
      *
      * 참고 - 저도 초보라 설명을 잘 못함...
      */
     strCalendar = year + "" + mon + "" + ho + "" + mi + "" + se;
    
     return strCalendar;
 }
 
 public void getCalendar3()
 {
  year = ti.get(Calendar.YEAR);
     mon = ti.get(Calendar.MONTH)+1;
     ho = ti.get(Calendar.HOUR_OF_DAY);
     mi = ti.get(Calendar.MINUTE);
     se = ti.get(Calendar.SECOND);
  
     /*
      * 위 두개의 메소드와 차이점은 getCalendar3() 메소드는 생성자가 생성할때
      * 실행이 되는것임.
      * 이거도 getCalendar2() 메소드처럼 String형 변수에 넣는 방법은 똑같음.
      */  
    
     // 1번 방법
     strCalendar = year + "" + mon + "" + ho + "" + mi + "" + se;
     System.out.println("문자열 변수에 대입해서 출력 : " + strCalendar);
    
     // 2번 방법
  System.out.println("정수들 사이에 따옴표와 더하기 기호를 이용해서 사용한 출력 : " + year + "" + mon + "" + ho + "" + mi + "" + se);
  
 }


 public static void main(String args[])
 {
  time1 t = new time1();


  System.out.println("String.valueOf()를 사용하여 정수형을 문자형으로 바꾼거 : " + t.getCalendar1());
  System.out.println("정수사이에 따옴표와 더하기를 집어 넣어 문자열로 만들고 String형에 대입 한거 : " + t.getCalendar2());
 }
}

출처 : http://kin.naver.com/db/detail.php?d1id=1&dir_id=10106&eid=g21Ni8s141TvYzuSDwzVMfhpGTD7hO6F&qb=amF2YSB0aW1lIGRhdGUgx9S89g==

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 950284
346 응용 프로그래밍 WIndows Application의 실행 속도 측정 file YooN 2023.09.06 3906
345 웹 프로그래밍 메모리 부족 현상 (allowed memory size of 134217728 bytes..) YooN 2023.08.01 2950
344 웹 프로그래밍 Guzzle - cURL error 60: SSL certificate problem: unable to get local issuer certificate 문제 해결 file YooN 2023.07.30 3126
343 웹 프로그래밍 XE 캐시파일 재성생후 404 Oops, Sorry. Page is not found! 나올때 YooN 2023.07.29 2847
342 응용 프로그래밍 [Apple] 엔터프라이즈 계정신청 (Enterprise Program) file YooN 2023.03.27 1386
341 웹 프로그래밍 XE - " Fatal error: Class 'Object' not found in " / class 낫파운드 오류 file YooN 2023.03.20 964
340 응용 프로그래밍 [MSA] MSA란 무엇인가? 개념 이해하기 file YooN 2023.01.26 986
339 웹 프로그래밍 iOS 앱 개발을 위한 인증서 생성 및 관리 file YooN 2023.01.18 1038
338 프로그래밍 [ iOS ] 앱 스토어 개인, 회사, 엔터프라이즈 차이점 file YooN 2023.01.09 778
337 웹 프로그래밍 PHP 파서 이해하기 (<?php의 php를 생략하고 간단히 <? 태그 와 ?> 태그를 사용하는 방법) YooN 2016.08.10 1173
336 프로그래밍 SVN의 cleanup 에러시 해결방법 YooN 2016.05.05 1590
335 프로그래밍 [오류해결] svn cleanup failed-previous operation has not finished; run cleanup if it was interrupted file YooN 2016.05.05 1446
334 프로그래밍 TortoiseSVN 계정변경 file YooN 2016.05.05 969
333 프로그래밍 SVN passwd 설정 : 계정 (users/passwd) file YooN 2016.05.04 1345
332 웹 프로그래밍 XE 비회원 글쓰기 항목 지우기 file YooN 2016.04.28 1335
331 응용 프로그래밍 메모리 영역 (code, data, stack, heap) file YooN 2016.03.23 1539
330 응용 프로그래밍 [SVN] Subversion 명령들 file YooN 2016.02.06 1757
329 응용 프로그래밍 IBM JDK 1.6 에서 Spring 2.5.2를 사용할 때 GenericTypeResolver 에서 NullPointerException이 발생하는 문제 YooN 2016.01.27 1589
328 웹 프로그래밍 오른쪽 마우스 금지 소스 / 드래그 금지 소스 YooN 2016.01.20 1168
327 응용 프로그래밍 [전자정부 표준프레임워크] 톰캣(Tomcat) 설치하기 file YooN 2016.01.02 1290
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 18 Next
/ 18


즐겨찾기 (가족)

JAESOO's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너